Compare commits

..

4721 Commits

Author SHA1 Message Date
a377a7edf6 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r32300:32571 2010-10-19 00:45:37 +00:00
Nathan Letwory
b743454ce1 Add Toggle System Console entry to Help menu on Windows systems. 2010-10-18 22:37:21 +00:00
Nathan Letwory
f08a9dfd8a Add operator for toggling cmd box on Windows.
Use through search menu (Toggle System Console) or
call bpy.ops.wm.toggle_console().

This is based on patch [#6927] Optional Console for Windows
by Fahrezal Effendi, submitted on July 10th, 2007 (!)

This paves the way for adding a command-line option to Blender to
toggle this cmd console, and for having a user preference option
for this. Command-line option I haven't added yet, as there seemed
to be problems with Python interpreter initialization (read: crashes).

This works by redirecting stdout and stderr to blenderlog.txt in user
temp directory (most likely %TEMP%\blenderlog.txt). When python problem
is fixed we can use this to always redirect stdout and stderr to this
logfile, making it also easier for us to ask users for this file in 
bugreports.
2010-10-18 20:41:52 +00:00
Nathan Letwory
6e77dc1942 whitespace commit, AKA commit count bump. 2010-10-18 20:33:04 +00:00
Nathan Letwory
d5f160d1e8 Mangle unused parameter names also on non-GCC platforms. This should help in situations where a coder starts using the previously
unused tagged parameter after all, reminding the coder to remove the tag and check further.
2010-10-18 20:32:11 +00:00
bf09c851a9 quick commit for forgotten file in the G.sce -> G.main->name refactoring.
Patch by Jens Verwiebe, many thanks.
2010-10-18 17:55:11 +00:00
77867dfab1 remove annoying warnings for blenderplayers stub.c 2010-10-18 13:22:34 +00:00
b1e8d168d7 recent fix for relative imports broke autocomp. 2010-10-18 13:16:43 +00:00
799fc68234 cflags, cxxflags & linkflags in buildinfo. 2010-10-18 12:56:14 +00:00
6d0d688943 define NDEBUG for release builds so assert() is disabled. 2010-10-18 12:35:40 +00:00
afc8d8b3e3 bugfix [#24306] Python : relative import error 2010-10-18 11:37:53 +00:00
58683fa993 enable DEBUG define in CMake and scons, also change booleans debug option to BOP_DEBUG, which was used inconsistently, and had to add a define for superlu. 2010-10-18 11:21:22 +00:00
9650667b3d [#21475] Moving a Transform strip upwards moves its animation sidewards
* F-Curve translation is now calculated from the difference of the strips original & resulting start time, instead of using the transform data directly.
2010-10-18 10:52:57 +00:00
c092a18fcb [#24209] Texture Forcefields: Use Object Coordinates produces incorrect results (patch included)
* Original patch provided by Alexander Beels and modified a bit by me.
2010-10-18 08:17:04 +00:00
b7ad16983c Camera object drawing now shows shift (not especially important but the tracker is being unusably slow) 2010-10-18 08:11:34 +00:00
Nathan Letwory
9bd94eebc4 _DEBUG -> DEBUG 2010-10-18 07:24:08 +00:00
Nathan Letwory
6c505c97a7 _DEBUG -> DEBUG 2010-10-18 07:03:38 +00:00
8862afcb51 this should fix quicktime building from last commit. 2010-10-18 07:01:46 +00:00
Nathan Letwory
a293f76cdf Use DEBUG instead of NDEBUG 2010-10-18 06:52:10 +00:00
4d37cf90b9 remove G.sce, use G.main->name instead.
Both stored the filename of the blend file, but G.sce stored the last opened file.
This will make blender act differently in some cases since a relative path to the last opened file will no longer resolve (which is correct IMHO since that file isnt open and the path might not even be valid anymore).

Tested linking with durian files and rendering to relative paths when no files is loaded however we may need to have some operators give an error if they are used on the default startup.blend.
2010-10-18 06:41:16 +00:00
Nathan Letwory
b3afc3618d Remove unused code. 2010-10-18 06:34:02 +00:00
08232350d5 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r32200:32300 2010-10-18 02:43:53 +00:00
7db9558cf6 bugfix [#24291] Error parenting a child with any negative scaling coordinate
the bug was in object_apply_mat4(), caused by applying a non-normalized matrix to the rotation.
Blender 2.4x also had this problem, surprising nobody noticed!.
2010-10-18 02:36:43 +00:00
5b31d545df svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r31926:32200 2010-10-18 01:10:35 +00:00
Nathan Letwory
03085d2cae Fix [#24200] COLLADA Exporter: Aspect ratio is not exported
Reported by Wenzel Jakob, patch [#24235] by Phil Gosch
2010-10-18 00:46:41 +00:00
Nathan Letwory
05a105cac1 Add short comment. 2010-10-18 00:42:18 +00:00
433f871f0f bugfix [#24302] Ctrl+Click Extrude gets old mouse events
double click didnt check mouse distance moved so you could click twice in different areas of the screen very fast and generate a double click event which had old mouse coords copied into it but was sent to an operator set to run on single click (because the double click wasnt handled).

Also added MEM_name_ptr function (included in debug mode only), prints the name of allocated memory.
used for debugging where events came from.
2010-10-18 00:25:32 +00:00
c7c128f03b remove LCMS option from cmake, this is only testing code. developers who want to work on it can uncomment. 2010-10-17 23:32:48 +00:00
Nathan Letwory
c1e1551ef1 Fix [#24288] Mesh Grid pointing towards the floor when first created
Reported by Terry Wallwork
2010-10-17 23:08:05 +00:00
Nathan Letwory
fec7585190 Fix [#24294] IMB_allocImBuf changes in r32517 missed a couple of files
Reported and patched by Shane Ambler
2010-10-17 18:56:36 +00:00
0069c52104 Disabling menu entry for adding "Python" F-Modifier.
This hasn't been coded yet, and I don't think I'll be adding it very soon yet, so disabling to avoid further confusion over this.
2010-10-17 11:21:53 +00:00
013ffe9041 Bugfix #24296: AutoIK interactive chain length adjustment feature is missing
In 2.49, you could adjust the maximum length of Auto-IK Chains by using scrollwheel up/down or page up/down while moving Auto-IK bones. Now this is possible again with those hotkeys, but you need to hold SHIFT to get this to work, otherwise we get a conflict with the hotkeys for proportional edit nowadays.

Was broken when transform tools switched from using hardcoded key mappings to using a modal keymap.
2010-10-17 11:20:12 +00:00
6f1783470e Partial fix for #22409: Locked axis + auto IK = bad
The "root" bone in an Auto-IK chain was never added properly if it didn't have a parent that it was connected to. This meant that if it had axis-locking (using transform locks), these would not get converted to temporary IK-locks. This also affects 2.49

The second part of the bug report though, is something more ingrained in the IK-solver internals (numeric error, which means that even locked axes aren't exactly untouched).
2010-10-17 10:46:06 +00:00
d6d1f3cb68 Reverting Cam's audio code changes from revision 32517. Part of it has been reverted by Nathan already. Cam: next time please check, why a parameter is unused before you remove it! 2010-10-17 09:01:37 +00:00
856389eac7 re-arrange icon_draw_rect, also use an assert() for odd icon sizes. this can happen in some cases but hard to find when. 2010-10-17 09:01:12 +00:00
7d10ad012d fix for bad use of UNUSED() with win32 & some other minor error checks. 2010-10-17 08:59:23 +00:00
952b728578 Test stricter GCC compiler settings, these warnings will now give errors.
- implicit function declaration.
- no return type set for a function.
- declaration after statement.

This may be too strict but in general I prefer we don't allow commits with these warnings.
Applies to cmake/gcc and scons/linux.
2010-10-17 08:04:28 +00:00
30b79ddcc6 - fixed remaining unused warnings.
- omit render code from this warning (cmake only), until render branch is merged.
- moved -Wunused-parameter warning to apply to all C code in blender (not just ./source/blender), (cmake only).
2010-10-17 06:38:56 +00:00
28e144db92 Fix #24139: Edge loop + Multi-Resolution modifier results weird artifacts
- mdisp_corners used to return incorrect number of verts in some cases
- fixed memory corruption when face changed vertex count in
  edit mode (forgot displacement for such faces atm, could be changed
  in the future)
2010-10-16 20:43:16 +00:00
7415c967ff This fixes HDV render presets:
* according to wikipedia HDV1080p 24p has a framerate of 24/1.001
* HDV comes in NTSC in PAL versions, too (30/1.001 and 25/1)
2010-10-16 19:29:48 +00:00
3b6564a821 Fix for [#24292] When rendering with the stamp feature the scene opt. affects the seq. strip placement
Fixed typo.
2010-10-16 17:28:52 +00:00
Nathan Letwory
d170a959d2 Add System Info function to the Help menu.
Users can use this to quickly get info about their system for bug reports.
2010-10-16 17:26:40 +00:00
Nathan Letwory
ac03fbe4c9 Adapt OSX code for IMB_allocImBuf param changes. 2010-10-16 15:53:01 +00:00
Nathan Letwory
c52e7c1370 Fix AltGr problem on Windows
It was impossible for keyboard layouts that use AltGr to create certain characters to insert
them in Text and Console.

The keyboard driver in Windows sends left control events when AltGr is pressed. This meant that
Blender thought control was being held, which is a PASS_THROUGH condition for the insert operator
in both editors.

Add testing of keyboard layout for AltGr, both on initialization and WM_INPUTLANGCHANGE.

To remedy AltGr problem, we send now a left control key up event to Blender before further processing
the AltGr key.
2010-10-16 15:21:55 +00:00
7122b534fa == Audaspace / FFMPEG ==
Audaspace audio seek code wasn't taking start_time into account.
(Most common symptom: HDV MPEG2TS files always start audio playback at the 
beginning regardless of seek position.)
2010-10-16 15:01:01 +00:00
Nathan Letwory
53ced0be29 Now sound init param removal revert should be fine (apparently my cmake project files missed rebuild hint for these, fortunately SCons did its job well). 2010-10-16 15:00:04 +00:00
Nathan Letwory
03eb8d0222 Maybe now correct commit :° 2010-10-16 14:53:54 +00:00
Nathan Letwory
1aecaaf815 Forgot to commit RNA part of revert in 32519 2010-10-16 14:51:50 +00:00
Nathan Letwory
fe693b4631 Revert overaggressive parameter removal: Main struct is used in audio when Jack support is enabled. 2010-10-16 14:49:56 +00:00
Nathan Letwory
5ca362c422 Declaration before any statements. Doesn't GCC warn about this? 2010-10-16 14:43:47 +00:00
8268a4be71 most unused arg warnings corrected.
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating).
- mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-16 14:32:17 +00:00
7cc5aaf18a Added panel for accessing the "delta transforms" for Objects (this is closed by default to not clutter that much).
This should help silence complaints from some about "dloc",etc. not being easily keyable. 

It's also a nice way to have instances of animated objects located in different places, by animating either the standard transforms or the deltas, and then modifying by not animating the other version to keep the instances from going to a single point. This was a common newbie problem in 2.4x.
2010-10-16 11:52:30 +00:00
98d6c533a6 Bugfix #23979: FCurve.keyframe_points.add(..., replace=True)
... fails if there were no keyframes in the curve yet. Was a missing null-check for case when no keyframe array is created.

Also, changed the description for the "replace" arg to better reflect what it really does.
2010-10-16 11:30:41 +00:00
5999658569 Fix #24280: NURBS default "12x12" UV resolution is not actually "12x12"
When adding new nurb primitive it'll have got the same resolution as curve
2010-10-16 10:14:17 +00:00
87533e679c dont check for project anymore for ctrl+click, face snapping is enough. 2010-10-16 09:42:52 +00:00
bc1cca8d00 - blender player builds again with CMake.
- remove duplicate entries for libs for blender binary (where possible)
2010-10-16 09:27:02 +00:00
e5fbd93cec editors/space_* build without unused args warnings 2010-10-16 08:03:28 +00:00
03e6bb7ede patch for bug [#24253] r32218 breaks outliner icon drawing
provided by Shane Ambler (sambler) with some changes.
2010-10-16 05:12:31 +00:00
ad65cd5987 Bugfix #24099: nla content moves out of sync - with fix
Thanks Shane Ambler (sambler) for the patch!

<quote>
This kind of follows on from a report that I think was closed prematurely - #22775 - I can't find any reference to an
outstanding todo that relates to it.

When resizing the nla editor the channel names and the main area get out of sync.
When toggling back from fullscreen the content is hidden off the top of the area requiring scrolling to see it.

The dopesheet displays similar problems but after fixing the ui_view2d_sync call it appears to behave as if the v2d.keepofs
has been set for the most part.

Two areas seem to be related to this - the first is calls to UI_view2d_sync used for these two views use the wrong
flags.

The other is v2d.keepofs not being set. (dopesheet has less issue here but I think it is meant to be set the same as
nla)

</quote>
2010-10-16 05:07:33 +00:00
00e3ef9b13 Bugfix #24143: Edit NLA Strips
When editing an action used by a NLA strip and editing it 'in place' (controlled by pin icon on green 'tweaking' channel), the animation would only get played back in the action's original frame range while the keyframes were still displayed in the strip-altered positions.
2010-10-16 04:14:26 +00:00
d977da3b2c Bugfix #24276: Unable to set extrapolation on a per curve basis
Selected-curves only flag was missing.
2010-10-16 03:13:40 +00:00
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
Nathan Letwory
17085e967e Fix COLLADA import after recent API cleanups by Campbell. 2010-10-15 14:56:31 +00:00
Nathan Letwory
f631a8b5be Simplify GHOST modifier key handling on Windows. 2010-10-15 14:52:47 +00:00
99bd5f2f3b == rna info ==
changing from __repr__ to __str__ after discussing with campbell
was annyoing me when testing things, huge printouts :)
2010-10-15 13:09:38 +00:00
Nathan Letwory
f5f935e588 Less cryptic modifier key types 2010-10-15 13:03:10 +00:00
db09ca106d remove/tag unused args for view*.c, gpu*.c & image*.c 2010-10-15 12:29:02 +00:00
2755129fb6 nodes were being ignored by api update script. 2010-10-15 11:43:34 +00:00
44afd8ae5a Fix for [#23314] Comp node renaming breaks animation
* Old name was already overwritten before the update function, so changed the update function to a "set" function.
2010-10-15 10:25:43 +00:00
Nathan Letwory
a431b40de2 Add comment about when prefsizx et al are used. 2010-10-15 09:32:40 +00:00
Nathan Letwory
9ecf7c15a5 Fix for r32487: the logic was suboptimal, improved to always work correctly. 2010-10-15 09:30:33 +00:00
572faf9e7a Partial fix for [#22867] retopo bug
* More logical to restrict snapping to all visible objects instead of just selectable objects
* Rest of bug added to todo-list
2010-10-15 09:23:18 +00:00
f756a047e6 bugfix [#24264] toggle UV selection fails.
was using the 4th selection flag on tri's.
also some minor changes, removed unused args and corrected some comments.
2010-10-15 09:07:19 +00:00
9f81104b29 patch [#24251] Add missing tooltips for image operatios
from Sergej Reich (sergof), with minor edits.
2010-10-15 08:41:58 +00:00
7a535ed3d9 [#24263] Hooks influence area with vertex group assigned is not effected
changes...
- use vertex weights when hook indices are used.
- use force as well as vertex weights (overall multiplier), before when vertex weights were used force was ignored.
- rearranged the loops to be less confusing.
- falloff now in its own function.
- falloff curve slightly different, smoother towards the center /w 2 less sqrt calls.
2010-10-15 08:32:27 +00:00
4cfecdd06a Fix for [#21822] Unusual material slot behaviour, edit v object mode, cascade, SVN 27833
* Disabled removing material slots in edit mode and added back error message from 2.49.
2010-10-15 08:11:26 +00:00
Nathan Letwory
bb11d6337e Fix [#24260] Window geometry command-line option doesn't work
Override the first window size with --window-geometry if given. startup.blend would otherwise open as lastly saved.
2010-10-15 07:31:26 +00:00
271bbf4a0d fix for own recent unused commit that broke with OpenMP enabled.
also build ./source/ first with cmake since testing new changes are most likely to be made here.
2010-10-15 07:26:26 +00:00
4e61d5420c Ctrl+Click extrude, project the source verts when projection and rotating the source are enabled (better for retopo workflow). 2010-10-15 05:27:57 +00:00
25bbf99a79 replace SIDE_OF_LINE macro with line_point_side_v2() inline function.
made a number of files build without unused warnings.
2010-10-15 05:18:45 +00:00
68dea6591d bugfix [#24247] Duplicating a Composite Group Node no User Count Icon
duplicating nodes wasnt changing the usercount of the referenced ID but file loading deleting was.

also removed some unused args.
2010-10-15 04:27:09 +00:00
d3fcc2d0b4 bugfix [#24256] Wrong bone subdivision number in tweak panel.
there were 3 operators for armature subdivision, now only have 1 (as with mesh).
+ remove unused warnigns.
2010-10-15 03:24:47 +00:00
201fd16df9 [#24250] wavefront import/export defaults
match operator and internal default arg defaults.
2010-10-15 02:40:11 +00:00
f0fcf140f8 enable warning for unused args with gcc: -Wunused-parameter
- for cmake only apply this to source/blender, will apply globally later.
- ./extern/ ./source/blender/makesrna/intern/ ignore this.
2010-10-15 02:24:48 +00:00
f81248265d tag UNUSED() for operator exec() and invoke() functions. 2010-10-15 01:36:14 +00:00
7eaf56a97b Fix #24257: Last shape key not applied as Basis shape. 2010-10-14 20:19:52 +00:00
8ce2c26da3 darwin Makefiles: copy release scripts and python modules to where blender looks for them,
i.e. blender.app/Content/MacOS/$(VERSION) instead if blender.app/Content/MacOS/.blender
2010-10-14 19:30:55 +00:00
2a7f585fba bugfix [#23070] some shortcuts cannot be saved in a usual way 2010-10-14 13:18:42 +00:00
f8e7ad91e9 fix unused args warnings and remove some unused args. 2010-10-14 13:17:34 +00:00
f8d7451c73 remove unused args or tag as unused for image and screen editors, uiItemEnumR_string was ignoring name and icon args. 2010-10-14 12:24:08 +00:00
5de818670c fix for crash in own recent color picker commit, store the hsv color in
block->_hsv, which is only accessed via a function so it can be moved to
a better place later.

also fix cineon define for scons/cmake.
2010-10-14 11:33:51 +00:00
Nathan Letwory
6e2e7c00c1 fix potential crasher: malloc->calloc 2010-10-14 10:34:04 +00:00
Nathan Letwory
097a926d94 Fix [#24201] COLLADA Exporter: Light source energy incorrect
lamp->energy and lamp->distance are now taken in account by calculating
the constant, linear and quadratic attenuations based on this.

The import tries to do the reverse.

Note: this will work only properly for lamps that have att1 and att2 set to
1.0 or 0.0, other lamptypes won't import correctly again.
2010-10-14 09:40:56 +00:00
Nathan Letwory
380929624c Move MAXFLOAT to BLI_math_base.h 2010-10-14 09:31:14 +00:00
3488b5dd6f Update outliner when vertex group was added/removed 2010-10-14 09:24:25 +00:00
01733ecd6e [#24243] wavefront animation export
fix from dan grauer (kromar)
2010-10-14 09:09:41 +00:00
d3bf6b7224 Fix for [#24237] Hair dynamics with zero particles generates a segmentation fault 2010-10-14 09:01:03 +00:00
3d73a37b64 hex color input wasnt clamped. 2010-10-14 08:15:10 +00:00
fbf208d63f add UNUSED() to modifiers, also removed some unused args. 2010-10-14 06:29:17 +00:00
b0b8e93f7f bugfix [#24238] "M" (move) selects wrong action when with armature 2010-10-14 03:57:15 +00:00
266811368b bugfix [#21959] 'Apply rotation' to scaled object behaves wrong 2010-10-14 02:05:37 +00:00
a9197c3aa2 remove unused args in draw*.c and some in view*.c, tag some as UNUSED(). 2010-10-14 01:22:14 +00:00
f6a7205be5 bugfix [#22161] Drawing of custom shapes in bones 2010-10-14 00:33:39 +00:00
9971158648 use UNUSED() macro for the console space + minor changes to args. 2010-10-13 23:46:42 +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
Nathan Letwory
a90f876948 Fix for fix, not UnicodeEncodingError (where did I get that from?) but UnicodeDecodeError. 2010-10-13 22:20:34 +00:00
Nathan Letwory
a97af1449c Fix UnicodeEncodingError, which prevents netrender, reprojection and playback from working on Windows in certain situations.
Users can set their machine name to something containing non-ascii characters. In Python this currently causes problem due to
socket.gethostname() throwing UnicodeEncodingError. Work around this by not using platform.system() (which uses internally socket.gethostname()).

See http://www.pasteall.org/16215 for backtrace
2010-10-13 21:53:37 +00:00
32ac21ab02 Fix #24234: Object deletion doesn't take into account its users (causes segfault)
Clear SELECT flag when deleting object -- object could be used in other scenes, and
some stuff (like translation) would be confused due to relations
2010-10-13 19:56:53 +00:00
9f05cc59fa == docs ==
- moved files in proper directories and adapted paths where needed
- deleted doc/oldbugs.txt (asked confirmation to jesterking a week ago in irc)
- still working on doxygen files, for now I'll leave them in doc/
- NOTE: while checking if other files were referring to these files, I noted that
  "GPL-license.txt" is also used in the files below:
    - release/windows/installer/00.sconsblender.nsi
    - release/windows/specific.sh
  but these files should't be affected by this commit, but please check :)
2010-10-13 14:44:22 +00:00
a81be2075f use PyC_UnicodeFromByte for bpy.app.tempdir incase of non utf-8 filepath 2010-10-13 14:14:22 +00:00
bbc8cf9d24 fix for remaining glitch in square color picker, the backdrop could change color because rgb_to_hsv() was used rather then rgb_to_hsv_compat() 2010-10-13 14:10:42 +00:00
843d8859a7 bugfix [#23355] Square Color picker moving by itself and locking up 2010-10-13 13:53:49 +00:00
62f4d613d0 Fix for [#24208] ObjectId information is wrong when read from multilayer exr
* non-rgba passes shouldn't use color correction
2010-10-13 13:10:35 +00:00
1eda2c8594 Fix for [#24205] Multilayer EXR files used as input sequence are displayed incorrectly
* Image buffer profile wasn't set to linear rgb for multilayer image sequences
2010-10-13 11:40:59 +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
d058a9c8c3 bugfix [#23150] Creating Vertex with CTRL-LMB not snapping
- Added EM_project_snap_verts so other functions can re-use this, similar to old retopo_do_all().
- Changed how the normal for selected geometry is calculated, was accumulating half selected edge's into normals which was OK with even surrounding geometry but could skew too easily if the surroundings were not so even. Now use the 2D screen space selected edge vector to calculate the normals in relation to the target mouse position.
- Option to rotate initial selection, gives better results in some cases. (Ctrl+Shift+Click to disable)
http://wiki.blender.org/index.php/File:ClickExtrudeFix.png
2010-10-13 07:43:39 +00:00
54ffc23cd5 Text space
==========

Main changes:
- lines could be partially shown when they starts somewhere behind the upper
  boundary of area but because of word-wrapping some part of line will be show
- fixed caret navigatiog in area when tabs aren't replaced by spaces
- highlight the whole current line not only it's wrapped segment with caret
- when you're in replace mode cursor would be as long as the tab's width if it's under tab symbol

This fixes:
  #22399: Text Editor: word-wrapped lines prevent navigating through text with up-arrow.
  #21163: Text editor scrollbar problem with word wrap
2010-10-13 06:06:39 +00:00
554f4df542 bugfix [#24210] Tiled textures can cause corruption of entire UI 2010-10-13 04:00:01 +00:00
7c538107ea bugfix [#24030] Grease Pencil + Driver keys 2010-10-13 03:17:58 +00:00
cbbb636813 [#24171] Tab key no longer responds from UV / Image Editor 2010-10-13 01:58:09 +00:00
3a0bb75bac [#24128] Rigid Body Joint Constraint min/max limits [patch]
from Dan Eicher (dna)
2010-10-13 01:43:03 +00:00
74dd22a228 re-enable fix from r32330 but without the alt key check because this can be used for input. 2010-10-13 01:30:42 +00:00
9347dd04a3 bugfix [#24231] outliner not refreshed correctly
also made world changes only redraw the 3d view if 'Render Only' option is set.
2010-10-13 01:10:56 +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
5790deb4df bugfix [#23899] renderlayers are not working properly
was missing button for single layer rendering.

also renamed Object.show_shape_key to Object.show_only_shape_key since this pin's the shape key so others are disabled.
2010-10-12 22:20:10 +00:00
b64098a85a bugfix [#22407] Object level proxies ignore transform of original 2010-10-12 21:47:13 +00:00
4754d6a27d Fix for [#24169] Sequencer segfaults often when scrubbing to frame zero 2010-10-12 10:30:29 +00:00
7ef6836be4 bugfix [#24144] Small problem with texture (r32316)
an extra pixel was being drawn on a tiled image texture.
2010-10-12 08:32:53 +00:00
3a0e563feb bugfix [#23191] Ctrl-LMB quick extrude problem with non-perpendicular edges/faces.
also remove is_mat4_flipped() from transform_manipulator.c.
2010-10-12 03:23:44 +00:00
0143a8c6e5 update for gamelogic templates 2010-10-11 22:25:28 +00:00
6ebe7b8c5d [#24226] small inconsistency in user preferences
also made setting the temp dir more consistent, slash is always added on the end and if the user-pref dir is invalid its not used.
2010-10-11 22:05:45 +00:00
544b3178f9 bugfix [#24225] Blur Node ignores gamma option when size has input. 2010-10-11 21:08:26 +00:00
Dalai Felinto
3a369128b4 BGE Bugfix for [#22371] Alpha Planes affecting 2DFilters
disabling GL_Blend at the 2dfilter drawing routine makes the trick here. there is not a clear function invoked before the 2dfilter drawing routine. Therefore I found better to disable alpha blending while we are setting the other OpenGl attributes/matrixes.

We are not re-enabling GL_BLEND after we disable it. We could and it wouldn't hurt but I can't see why to. open to suggestions here of course.
2010-10-11 20:55:05 +00:00
b0b7354d5c [#23709] Blur node on Flat blurs even at 0 by 0 pixel spread
skip blur x/y when either is set to zero.
2010-10-11 20:53:20 +00:00
9fa74e5c59 Fix #24215: Bad shorcut indication for Bezier curve handles.
All existing handle type manipulation hotkeys replaced with unified V-menu
where you could directoly set type you need.
2010-10-11 18:53:11 +00:00
Dalai Felinto
682740e7aa make file update for recent bge.render.makeScreenshot commit 2010-10-11 18:47:28 +00:00
Nathan Letwory
8ec87bb45f COLLADA
Export unit system and scale instead of hard-coded 1 decimeter.
2010-10-11 12:38:52 +00:00
Dalai Felinto
4814ffa07b BGE object.life - gives you the life countdown for temporary objects.
Whenever using AddObject actuator, this feature gives you control over morbid events (a.k.a. trigger events before the object ends).

Demo file here:  
http://blenderecia.orgfree.com/blender/tmp/cube_life.blend

Feature implemented as part of the BGE development workshop in BlenderPRO 2010 - Fortaleza, Brazil
2010-10-11 10:47:20 +00:00
e444c77714 Fix for [#20064] Cloth simulation doesn't stop when marker is set back to frame 1 after exiting mesh edit.
* First frame was dropped some times when animation was running because clicking "go to start/end frame" changed the current frame directly.
* Now only the animtimer changes the frame and clicking the "go to" queues the next frame for animtimer.
2010-10-11 10:40:34 +00:00
Nathan Letwory
737bc66f2a Add note about Inv Quad falloff of lamp that there seems to be a hack in use. 2010-10-11 09:52:25 +00:00
7ab02f1ec1 Fix for [#24195] Cloth modifier doesn't work after changing subsurf on the object
* Cloth has to reset itself properly on vertex count changes as it can be after a constructive modifier (unlike softbody)
2010-10-11 09:02:19 +00:00
Nathan Letwory
67a1a871a9 Revert r32330 and reopening #24184. The change breaks input where modifier key is used to create a character. 2010-10-11 08:03:28 +00:00
3d3d9bf235 bones were not being metaclassed properly so that custom rna prop's couldn't be set. 2010-10-11 04:52:40 +00:00
fab8deb811 bugfix [#20761] Bones/Armature: "Inherit Scale" doesn't work if "Inherit Rotation" is disabled 2010-10-11 04:00:33 +00:00
db4a205fa0 bugfix [#24190] Extrude Faces called from Alt+ E_key menu don't works well 2010-10-11 02:05:44 +00:00
4ad2e4a383 [#24045] heat weight fails on specific geometry.
The error for heat weighting was only being printed in the console, while the problem remains at least a warning is now given that there was a problem calculating the heat weight.

also fixed a memory leak from the mesh octree not being freed after assigning vertex groups. (ModNode error)
2010-10-11 00:15:49 +00:00
159cf6e5dd bugfix [#24214] F6 "last operator" panel repeatable segmentation fault 2010-10-10 23:37:25 +00:00
bf4075236f bugfix [#23412] Weightpaint and rotate around bones
fixed by allowing an unselected armature to have its pose bones used in weightpaint mode.
2010-10-10 23:11:34 +00:00
1579c1a5c9 weight-paint in solid draw mode would draw the wire twice, also change wire drawing to draw all edges and better visibility over yellow areas. 2010-10-10 22:15:48 +00:00
52e6058bb4 [#24204] Packing of image sequence does not work
this isnt supported but at least display a warning.
2010-10-10 21:39:24 +00:00
a20843bf34 building without python works again for the BGE 2010-10-10 20:59:30 +00:00
f49fc58df6 enable building the game engine without bullet for scons & cmake 2010-10-10 07:01:56 +00:00
Nathan Letwory
d420d09da9 Fix compiling for MingW too. 2010-10-09 21:31:32 +00:00
Nathan Letwory
f72eef5de7 COLLADA
Import unit_settings to scene.

Note: I use here RNA to do this, and I think I might slowly work on replacing low-level DNA usage with RNA where possible.
2010-10-09 21:17:14 +00:00
Dalai Felinto
6b8ca3ccdf patch [#24178] bge.render.makeScreeshot - with help from Campbell(ideasman42)
This patch brings back the old functionality from Blender 2.49.
However we are forcing the format to be PNG only (as we had previously on blenderplayer).

Note: If letterboxing is on, we are recording only the camera area of the canvas (cool hein?).
Note2: I have a feeling that this is faster than what we had in 2.49 (which was really slow imo). Maybe it could be even faster if we disable PNG compression. Maybe an option for the future.

* patch finalized and committed as part of the BlenderPRO 2010 - BGE development workshop :) *
2010-10-09 13:46:34 +00:00
bd00aa9727 patch [#23781] Dynamically Load Actions
from Mitchell Stokes (moguri)
2010-10-09 10:45:25 +00:00
f7fb4e70b3 Fixing a memory leak with SCA_PythonKeyboard and SCA_PythonMouse. 2010-10-09 01:31:20 +00:00
9bb10e571b bugfix [#23868] NodeGroup font resolution problem when editing it 2010-10-08 22:33:43 +00:00
e02439d2f3 fix for operator cheat sheet, recent description order change broke it. 2010-10-08 21:18:08 +00:00
Nathan Letwory
c9d240626d c++ -> C++ 2010-10-08 20:40:42 +00:00
Nathan Letwory
663ce490e0 Enable CXX_GUARDEDALLOC support through SCons. 2010-10-08 20:39:56 +00:00
48d2aac250 Fix for [#24092] F-Curve Cycle doesn't behave properly at end of Cycles (also: possible problem with how the cycle range is determined)
* Cycle code had difficulties handling the transitions from one cycle iteration to the next one.
* Now the transition frames are handled manually so that:
    - cycles before the actual fcurve data respect the first datapoint
    - cycles after the fcurve data respect the last datapoint
* Also fixes a bug where the count of "before" cycles was off by one from the given value.
2010-10-08 13:08:13 +00:00
7006309b3a fix for console selection when pasting. 2010-10-08 12:16:03 +00:00
30137cbdbc bugfix [#24179] Button "Loop Cut and Slide" on Mesh Tools not work
also added a message in the tooltip to say `why` a buttons disabled.
depends on the operators poll setting the message.
2010-10-08 11:33:10 +00:00
86e77bc532 "Fix" for [#23863] Smoke Voxel Data Still Frame Number doesn't work
* Not supported currently so hidden in ui.
* Could be a nice option for later, but will need some proper thought put into the implementation.
2010-10-08 08:56:04 +00:00
c79e054538 quat_apply_track had incomplete comments 2010-10-08 07:36:33 +00:00
65b0893df0 bugfix [#21483] Twisting when Dupliframing a Surface Circle (Nurbs) along a Curve.
use the curve's twist for follow path constraint and parent-path.
2010-10-08 07:29:08 +00:00
5e232548d3 fix for error in track rotation, found while looking into adding an up axis to this function. 2010-10-08 03:50:01 +00:00
28b264de67 Fix #23358: template_curve_mapping doesn't work in split views 2010-10-08 02:48:24 +00:00
c6e2e7aa93 move tracking functions into math_rotation.c (no functional changes) 2010-10-08 02:08:11 +00:00
afa1bf33fb bugfix [#21610] alt-r for bone (reset rotation) doesnt work in weight painting mode
pose operators now run in weightpaint mode when the weight paint objects pose armature is in pose mode.
2010-10-07 23:17:14 +00:00
c52c10d178 append was using a freed Main pointer to refer to the curlib when instancing group objects and centering objects around the cursor. 2010-10-07 21:25:05 +00:00
e4964a3477 Fix #24167: Timeline keyframes don't update when selecting objects from outliner
Based on patch from Alexander Kuznetsov. Own changes:
- Keyframes in timelime depends on active object, so timelime better be
  listeing to ND_OB_ACTIVE notifier rather than ND_OB_SELECT
- When scene is changing in this operator NC_WINDOW notifier would be send
  and the whole interface would be redrawed, so no need in ND_OB_ACTIVE in
  this case
2010-10-07 16:41:42 +00:00
e9189bddb9 Fix #24180: Make duplicates real doesn't update immediatly the outliner 2010-10-07 12:18:09 +00:00
97576cd51b Fix for [#22250] Retopo projects to the wrong object when multiple objects are behind.
* Scaling of objects wasn't properly taken into account when projecting the verts.
2010-10-07 10:57:21 +00:00
8a4fe62843 misc fixes found with clang's static checker. 2010-10-07 10:04:07 +00:00
c9453b1357 SVN maintenance. 2010-10-07 01:20:59 +00:00
Nathan Letwory
c139faf171 COLLADA: Split EffectsExporter into separate files. 2010-10-07 00:24:42 +00:00
942d5dd804 bugfix [#24158] Object text fields immediately search based on existing content
also remove some unused struct members from uiBlock/uiBut.
2010-10-07 00:14:21 +00:00
8bb75bb5b6 bugfix [#24155] Operator Cheat Sheet doesn't work properly 2010-10-06 22:29:34 +00:00
2ef0d5e134 remove calls to WM_event_add_mousemove r22031, from view2d operators since it would cause a feedback loop where the operator apply function would keep using mousemove events and creating them.
This was added for view updates but think it needs to be solved a better way.
2010-10-06 21:54:30 +00:00
47969866e0 SVN maintenance. 2010-10-06 20:40:16 +00:00
15a6201381 bugfix [#24168] verts[] was replaced with vertices[] but gives the old info to user. 2010-10-06 20:39:50 +00:00
2cabb498dc bugfix [#23988] The Maya preset as default 2010-10-06 20:29:00 +00:00
c02526bdf9 bugfix [#24157] AddPresetBase class writes incorrect values for float_vector properties 2010-10-06 18:51:07 +00:00
Nathan Letwory
c0b36a0be0 COLLADA: Split ImagesExporter into separate files. 2010-10-06 16:23:52 +00:00
352fbb1549 remove unused vol_get_density() call. 2010-10-06 14:53:13 +00:00
61d23ff95b minor edits so traceray() uses less stack memory, also remove memset() usage, initialize as {0}.
no functional change.
2010-10-06 14:47:40 +00:00
d256ec9d24 bugfix [#23311] Half a colour picker appears
all popups which are positioned based on an existing button are now clamped to window bounds.
2010-10-06 14:17:28 +00:00
Nathan Letwory
ca44eb3abd GCC fixes for r32346 2010-10-06 13:55:50 +00:00
Nathan Letwory
0d815d3528 COLLADA: Split MaterialsExporter into separate files. 2010-10-06 13:21:08 +00:00
Nathan Letwory
e161c22dc2 Assorted GCC fixes for OpenCOLLADA support 2010-10-06 12:04:56 +00:00
Nathan Letwory
7245280f6c COLLADA: Split ArmatureExporter, InstanceWriter and TransformWriter into separate files. 2010-10-06 11:02:44 +00:00
d50cadbe0d Fix for [#22236] Seg Fault when rendering sequence with speed effect, [#24160] VSE crash
* Override the default render name in the case of the sequence renderer scene being included as a strip in the sequencer.
* Somebody with deeper insight to the rendering pipeline should probably check if this is the best way to handle this.
2010-10-06 10:09:44 +00:00
0321f089d6 [#24063] Error in RNA naming in SequenceCrop.min_x/y ;
[#24153] Typo
2010-10-06 10:00:15 +00:00
Nathan Letwory
c88a46e585 COLLADACOLLADA exporter: split geometry export into own files. 2010-10-06 09:53:06 +00:00
d6b235f3ef patch [#24162] r32332 missed a couple of command key changes - with fix
from Shane Ambler (sambler)
2010-10-06 09:21:40 +00:00
20d0236f10 Fix for [#24134] pointcache memory error (crash) 2010-10-06 07:57:55 +00:00
Nathan Letwory
fdadab1006 COLLADA exporter: split camera and light export into own files. 2010-10-06 07:13:42 +00:00
02d97e4da2 Campbell requested that I remove one of the bge.events.RETKEY aliases, so I'm removing bge.events.RETURNKEY. 2010-10-06 00:36:12 +00:00
70def5c247 [#24123] Network render gives black images
Error with buffer handling when reading response.

Also fix bug with blendfile relative path (wasn't converting them properly).
2010-10-05 23:14:31 +00:00
eef0ffe9be Unhide confirm on release property (otherwise, it's not easily modifiable in the keymap editor). 2010-10-05 22:32:29 +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
de1c5de708 bugfix [#24151] AddPresetBase class does not add Color import when saving color properties 2010-10-05 19:14:41 +00:00
568cb06616 rename Command key to OSKey, Window manager already called it the OSKey but internally it was mixed. 2010-10-05 19:10:15 +00:00
0c7dce887c Updating the bge.types docs to note which KX_GameObject attributes return mathutils objects. Also adding localLinearVelocity, worldLinearVelocity, localAngularVelocity, and worldAngularVelocity to the KX_GameObject docs. 2010-10-05 19:05:09 +00:00
458de52151 bugfix [#24148] unable to get keyboard mappings to work in the text window
this exposes another problem: RNA_property_is_set cant be used on properties set from a keymap, they are always set. for now check for string length.
2010-10-05 18:35:02 +00:00
5bab95fc58 Scons options for static linking to libsamplerate, sndfile and fftw3 2010-10-05 16:43:01 +00:00
1e0d2d4700 patch [#24125] Fix for Slider Widget (UI)
from Alexander Kuznetsov (alexk)
2010-10-05 15:44:58 +00:00
e1878f7142 patch [#24146] UV layout selection menu in UV editor ala CTRL+TAB in edit mode 2010-10-05 15:29:06 +00:00
Nathan Letwory
31ff2a6da2 Enable lcms support on Windows. 2010-10-05 13:39:45 +00:00
1bf56930ac bugfix [#24122] Shift-C doesn't work in "Camera View"
also fixed some glitches with smoothview.
2010-10-05 13:15:58 +00:00
629ddacd48 Fix #24135: Material modification not immediately updated in Outliner
Also fixed outliner update when changing active_material_index from Py and
when selecting texture from UI
2010-10-05 11:55:54 +00:00
0eeeab515b bugfix [#23506] Bevel Modifier display problem
This is a more general problem that drawing functions would skip faces when the original index could not be found, screw result for example wasnt visible in editmode too.
Fixed by adding a material set argument to DerivedMesh->drawMappedFaces(), this was already being done in some of the other drawing functions.
2010-10-05 11:25:34 +00:00
a7258c9651 - fix for crash when drawing a subsurf after a modifier that lost original indices (bevel/screw/decimate)
- fix for own mistake used madd_v3_v3fl rather then mul_v3_v3fl, r32241.
2010-10-05 11:16:07 +00:00
9c91affd6f "Fix" for [#24115] Offset animation on object with particules system doesn't work like 2.49
* Object time offset is not supported for particles anymore, something that enables similar functionality will have to be coded later.
2010-10-05 10:45:54 +00:00
459cf92bf4 build-fix [#24142] path changes break osx 2010-10-05 10:23:25 +00:00
6ca186fc5a Fix for [#24107] Hair/General particle glitch- Presets 2010-10-05 09:32:35 +00:00
a92c232c8b Fixed own typo in last commit to curve RNA 2010-10-05 07:22:44 +00:00
Nathan Letwory
4eae531f31 TextureCoordinateBinding.getName() -> TextureCoordinateBinding.getSemantic(); as per my own patch on OpenCOLLADA issue tracker. 2010-10-05 06:10:17 +00:00
3cf2d2fd4e A bit of bge.events work:
* A few places in the bge.events docs mentioned bge.keys, when it should have been bge.events
  * Created two aliases to bge.events.RETKEY: ENTERKEY and RETURNKEY
  * ENTERKEY and RETURNKEY have been added to the docs and RETKEY marked as deprecated
  * Added an example of using bge.logic.keyboard to the bge.events docs
2010-10-05 05:44:15 +00:00
9f3d203acb SVN maintenance. 2010-10-05 00:49:39 +00:00
Nathan Letwory
82209cdc86 Reorganisation of COLLADA import code. Classes have been split into their own files.
No functional changes.

Where necessary extern "C" {} blocks have been added.
2010-10-05 00:05:14 +00:00
Nathan Letwory
63b4c93e44 Update stubs for recent changes (BKE_utildefines.h and header printing). 2010-10-04 23:52:53 +00:00
f994c6caee bugfix [#24133] r32303, Mirror Modifier + EditMode + VBO's Problem.
drawing the triangle arrays were only broken up by hidden faces, but switches in material were ignored.
now check for materual context changes.
2010-10-04 19:01:25 +00:00
e88b8dac7b [#22825] Copy Scenes with Audio Strip Crash. 2010-10-04 15:31:04 +00:00
c76d339b6c fix for copy in the console (wasnt taking the prompt into account) 2010-10-04 12:02:18 +00:00
e568ea668e revert r32284, turns out OpenSuse needs this for forkpty(), also fixed missing import with 3ds export. 2010-10-04 11:42:39 +00:00
a6d62bf0db Recalc knots when toggling nurb cyclic flags 2010-10-04 10:06:18 +00:00
636e555ec2 Fix for [#24118] Hair particles can not be edited
* Own mistake from a previous fix.
2010-10-04 08:48:50 +00:00
c0a7b5c2a8 COLLADA exporter fix: do not create a duplicate <polylist> if an object has NULL materials linked along with normal materials. 2010-10-04 03:38:37 +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
0540512866 fix for building over samba /w cmake+mingw 2010-10-04 00:40:48 +00:00
874ffaca7b typo in function prefix. 2010-10-03 23:29:43 +00:00
11acab00b0 cmake/mingw was missing defines. 2010-10-03 23:27:33 +00:00
02d0084db9 changes to path searching
- don't search CWD/foldername anymore, only CWD/2.54/foldername, since this is the new default build systems use.
- local source paths (./release/scripts) are now treated as system path, otherwise when this is used you cant test ~/.blender/2.54/scripts at the same time.
2010-10-03 21:13:52 +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
3e3e10668e linking libutil isnt needed on my system, possibly this is deprecated?,
testing this on other linux systems isnt so easy but will hear about it if this breaks.
2010-10-03 18:45:27 +00:00
fbe1b518f0 Fix attribution, as noticed by Dalai Felinto. 2010-10-03 16:39:07 +00:00
41a3f5863d Add include directive so buildinfo compilation can find defines, see r32271. 2010-10-03 16:30:10 +00:00
b0b5db57da build systems have been updated, remove use of ~/.blender/ directly, ~/.blender/*version*/ instead. 2010-10-03 16:16:00 +00:00
157d1205a4 added len_squared_v2v2, use instead of len_v3v3 for font handle tests, also fixed some warnings. 2010-10-03 14:16:27 +00:00
ed7ffb111a bugfix [#24116] UV layout exporting doesnt work
in-fact this is unrelated to UV Layout script, just a missing check for an bad state.
2010-10-03 12:22:33 +00:00
c5086987ec fix for scons with recent buildinfo change 2010-10-03 11:33:44 +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
bcf6726b0b Making the docs for bge.types.KX_SCA_AddObjectActuator.instantAddObject() more clear. Thanks to delaney for pointing this out. 2010-10-03 01:32:01 +00:00
27c444acb6 python console prompt + edit line is how selectable. 2010-10-02 22:31:48 +00:00
491aebbf67 py/rna access to setting the header text - can be used in modal operators.
eg: context.area.header_text_set("Some Text")
 included example in the view3d modal operator template.
2010-10-02 21:02:40 +00:00
Nathan Letwory
3f768cb472 Redraw object buttons on next/previous frame in 3dview, otherwise for instance
Transform panel won't get updated for keyed objects.
2010-10-02 20:31:54 +00:00
1d2b96fa81 set the view3d used layer to be an unsigned int, mask out localview layers to avoid flag mismatch when checking if it changed. 2010-10-02 19:45:53 +00:00
3aef138175 for view layer calculation, only break early if all layers are set, was breaking if any layer was set. 2010-10-02 19:38:09 +00:00
77b75e23ba Fix #22348: disabled image editor curves on non-float images, this never
worked correct, only got enabled accidentally in 2.5 port.
2010-10-02 19:31:58 +00:00
a6e7823942 make fly mode border draw into a area drawing callback rather then using a flag (no functional change). 2010-10-02 19:31:23 +00:00
5faa29b01d move window matrix translation into its own function. (no functional changes) 2010-10-02 19:06:20 +00:00
283372ab3c Anti-Aliasing support for opengl render (belated durian todo),
Simple FSA accumulation method means no fancy opengl features needed.
Fixed at 5 samples per pixel for now.
2010-10-02 17:10:28 +00:00
8cb17690f1 Fix #23785: in the game engine, if an object had an armature modifier + another
modifier, it would apply the armature deformation twice.
2010-10-02 16:42:12 +00:00
9e72351c96 Small CMAKE Fix, discovered by freakabcd in IRC. 2010-10-02 16:29:58 +00:00
4f6fc938a6 * Script wasn't updated after "Load Factory Settings" Operator decoupling. 2010-10-02 16:19:33 +00:00
0daa9ec5d9 Fix for [#24051] Scrubbing Timeline in VSE with Jack Audio doesn't scrub just plays the audio track
There were actually two bugs, the one reported and that the Sync Callback never has been called after someone had to add #ifdefs around the call without checking that the build systems are even configured to add the needed definition, am I right Cam? :P
2010-10-02 15:27:55 +00:00
2bfc5d53bb Fix for last fix, should have checked it actually worked :) 2010-10-02 14:45:56 +00:00
e1b5daa36f Fix #24077: convert operator not updating outliner. Note about notifiers:
NC_SCENE|NC_OBJECT does not work, you can only have one NC/ND/NA in a
single notifier, if you need to do both, use two notifiers.
2010-10-02 14:40:53 +00:00
9aa2bde26b Most likely fix for #23420: viewer node: loses viewer nodes forever.
Related to another bug fixed recently, both viewer + split viewer
could be set to output to the same image. That also could make node
tree localization/sync go wrong.
2010-10-02 14:32:03 +00:00
11467a7873 Fix #24095: user preferences theme colors didn't match exactly with what
was drawn. Problem was that these were not set to be in gamma space. Also
needed to fix automatic 0..255 to 0..1 range conversion for PROP_COLOR_GAMMA,
was only working for PROP_COLOR.
2010-10-02 14:17:20 +00:00
a634d44510 Fix #24103: copy logic bricks to objects with the same data didn't work.
Don't know why this check was here, it wasn't there in 2.49 and it's not
necessary.
2010-10-02 14:08:09 +00:00
8d309f8500 Fix #24096: shift+A add menu not working in pose mode. Useful to have it
here too for rigging.
2010-10-02 13:57:38 +00:00
161ae2b572 Fix warning in collada operator after a recent commit. 2010-10-02 13:52:46 +00:00
96565073d3 Fix #24098: new file and load factory settings sharing same hotkey.
Made these separate operators now, less confusing.
2010-10-02 13:45:26 +00:00
4c63215e38 Fix #24094: Multiresolution sculpt mode undo crash 2010-10-02 11:39:11 +00:00
3716e6a176 Fix #24097: halfway shadow buffer rendererd incorrectly with spot halo. This
trick can't work with any volumetric effect, so disabled it in case halo is
enabled.
2010-10-02 10:39:53 +00:00
Nathan Letwory
27fa0dfc70 Patch [#23589] Use Author field from User Preferences for COLLADA export.
Submitted by Imran Syed.

When U.author is set, it'll be used instead of default "Blender User".
2010-10-02 09:42:35 +00:00
1410df2f14 Fix #23629: Layers doesn't sign there are objects on them, only if the object is selected
Also fixed layer buttons update when changing scene/screen
2010-10-02 09:28:41 +00:00
b6bdf681fb OSX/Cocoa: Fix [#24068] for correct handling of .blend file names with accented nordic characters 2010-10-02 09:17:32 +00:00
af8ae62ec0 OSX/Cocoa: Mouse up was not sent to WM after window resize 2010-10-02 09:15:32 +00:00
db1b74654b - spec hardness was missing redraw update
- missed rna rename in image ui
- use BLI_math functions in gpu_draw.c (no functional changes)
2010-10-02 06:34:04 +00:00
734b7b969d Fix #23932: compositing nodes with viewer and split viewer node could
crash, with two threads writing to the same image.
2010-10-01 21:56:36 +00:00
Nathan Letwory
99ebe229f6 Fix [#21084] Collada messing up geometry on import and renaming uvlayers
Reported by Michael Williamson

Add support to write the uvlayer name as found in <bind_vertex_input> semantic attribute (Blender
exports in this one too, so reimport goes ok now).

I have created a patch for OpenCOLLADA to be applied against r769, which is needed
for this fix to work: http://code.google.com/p/opencollada/issues/detail?id=117

The Windows OpenCOLLADA updated builds (r769+patches) will be committed after this.

Note: This means that linux and osx users will have to patch OpenCOLLADA themselves, until
it's committed (or in case of OSX the libs updated in lib/darwinXXX).
2010-10-01 19:46:42 +00:00
ee84a5b082 fix for crash when using the console to load a file, when the UI changes dont attempt to add to the console's buffer. 2010-10-01 17:55:35 +00:00
38b6ca0358 stop dna from parsing structs that aren't used needed. 2010-10-01 15:59:34 +00:00
f9884b8137 fix [#24083] Crash when opening a certain file
own error in recent commit.
2010-10-01 13:51:48 +00:00
efb98f2499 minor bugfix [#24085] NULL character is last
so "blah.blend" comes before "blah 1.blend"
2010-10-01 13:30:09 +00:00
2e44e06450 minor adjustment to camera object drawing so arrow stays same size independent of aspect. 2010-10-01 13:27:59 +00:00
ebca34a282 3d text added with the view align option didnt work. 2010-10-01 12:25:18 +00:00
84fe3ab081 Added RNA conversions to the fcurve/driver fix script from my sequencer speed effect commit. 2010-10-01 09:54:07 +00:00
Nathan Letwory
4418396a45 Change <UNKNOWN> to -UNKNOWN- so exporters can be happy too, when a build was created without svnversion (or from export). 2010-10-01 08:29:27 +00:00
Nathan Letwory
b85f779355 Add distance check in lasso generation to get a smoother lasso.
Hopefully this helps with lasso select troubles [#21179].
2010-10-01 08:12:37 +00:00
65b92821e1 attempt to fix [#21179] r26939 - Lasso tool does not work when drawing counter clock wise
can't test this so guessing this is caused by face culling.
2010-10-01 07:49:00 +00:00
3dea67a3fd bugfix [#24065] obj export (mtl image path) 2010-10-01 05:19:40 +00:00
4ab6881617 Fix #23186: use of unitialized memory when creating new faces on a mesh
with a multires modifier.
2010-09-30 22:27:37 +00:00
0fce27d68e Fix #24074: shift+MMB didn't pan in image editor like other 2d views. 2010-09-30 21:07:42 +00:00
da4b54cd5d Fix #23540: smoke preview shading only used point lamps, now it uses other
lamps to if no point lamp is available.
2010-09-30 20:19:54 +00:00
96977c6ffe Fix #24067: sculpt brush/texture preview would disappear when overlapping
with the region boundary. Use glaDrawPixelsSafe like e.g. the image editor
to prevent this.
2010-09-30 18:35:54 +00:00
09342644cf 2d grease pencil thickness was double with width it should have been. 2010-09-30 17:23:39 +00:00
645d283db3 [#24066] Menu_Items_Greyed
revert fix for bug #24009, this made menu items fail poll()
2010-09-30 15:07:22 +00:00
b3c8efb3ef Action/Shapekey Editor Bugfixes:
* Shapekey editor now shows ID-box for showing and editing the action assigned here. This should help alleviate the misconceptions arising to #23823, where user tries to load shapekey action into Action Editor (context there is ob-action only). 

There are still a few minor update bugs that I still need to fix here (i.e. post keyframing) though. Those shouldn't take too long I think.

* Changing the action used in the Action Editor properly decrements the user counts now. This solves the bug where you could get actions with a high usercount, but not that many actual users.
2010-09-30 12:42:45 +00:00
0dcf67a83a Patch #24056: Indicate keyed status of swatches
Submitted by: Shane Ambler (sambler) 

<quote>
From blenderstorm idea# 169 this patch changes the swatch button to display a border showing the keyed status colour
of the colour.

I chose to go with showing the keyed colour in a border around the swatch, insetting the size of the swatch colour to
prevent altering the sizing of the swatch. An un-keyed swatch is not altered visually, only a keyed colour swatch is
changed to have the keyed colour around the outside of the swatch button.

I think a border of 3 pixels is sufficient to make the keyed colour visible without taking too much of the colour area
away.
</quote>
2010-09-30 12:10:18 +00:00
d6ee8a0e4d Cleanup of Auto-Keyframing code:
Moved duplicated code out to a special new function so that this doesn't need to be copied all over for each transform op that needs this.
2010-09-30 11:56:39 +00:00
Nathan Letwory
e8465555cb Prevent crash if image for image texture is not set, part II. 2010-09-30 11:49:48 +00:00
Nathan Letwory
0d1a9c7784 Prevent crash if image for image texture is not set. 2010-09-30 11:42:02 +00:00
8a5c516864 Bugfix #23707: Autokey Available is ignored on a Clear Transform
Second attempt at fixing. Last time, I missed the case where the "Only Insert Available" userpref was enabled, which was why the bugreport was reopened. Hopefully I haven't missed anything else...
2010-09-30 11:27:47 +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
cca8fce807 Bugfix #23031: adding a driver ontop of keyframe makes driver undeletable
Now drivers cannot be added to properties that have been animated (and visa versa). Previously, the check was only checking if there was a keyframe, not whether the property was animated.
2010-09-30 10:39:05 +00:00
38c3a5f363 Sequence effect scale to length should work with the original (non-extruded) length of the target strip. 2010-09-30 09:34:22 +00:00
Nathan Letwory
22dbb1eb6e Set IB_multilayer flag, so can use multilayer exr as texture too. 2010-09-30 07:39:00 +00:00
3665257dbf bugfix [#24062] draw_view_icon() broken
icons needed adding to the new theme
2010-09-30 07:31:37 +00:00
90665eb107 use constant rather then sqrt(2.0) 2010-09-30 07:06:00 +00:00
b01e6fd564 rename makeknots to nurbs_knot_calc_u/v 2010-09-30 06:51:32 +00:00
04adf3ae15 cleanup of nurb spin function, was very confusing. no functional changes. 2010-09-30 05:26:36 +00:00
8b7e01b0bb Fix #24018: moving backdrop in node editor not working anymore after thread
safety fixes, was one case where it was still using get_ibuf instead of
acquire/release_ibuf, this is required for render and compositing results
which are modified by other threads.
2010-09-29 22:13:24 +00:00
36c756e754 fix for nurbs spin tool (broken since being moved to 2.5x). 2010-09-29 16:18:39 +00:00
a2f966b8ee bugfix [#24041] Adding NURBS Sphere and NURBS Donut problem 2010-09-29 15:19:16 +00:00
c5157cda88 Cleanup of code and ui of sequencer speed effect.
* Sequence speed effect was functional in theory, but very difficult to actually use.
* Now the effect works as follows:
  - "Speed Factor" (formerly "speed fade") controls the current speed of the sequence (can be animated).
  - "Use as speed" (formerly "f-curve velocity") is now the default behavior so that the "speed effect" by default changes the "speed" of the sequence.
  - "Multiply Speed" (formerly "global speed") is a scale factor that's applied to the calculated frame (can't be animated).
  - Without animation "Speed Factor" and "Multiply Speed" work exactly the same (in this case "multiply speed" could perhaps be disabled in ui, but currently there's no easy way to check this).
  - If "Use as speed" is not checked the effect simply remaps the current frame to the given "Frame Number" (can be animated).
  - "Scale to length" (formerly "f-curve compress y")scales "Frame numbers" from 0.0-1.0 to the length of the target strip to allow easy animation.
* Tooltips added for all values and options.
* Code for frame blending was nowhere to be seen, so I commented the option out from ui.
* This should fix at least bugs #20979 and #21309.
2010-09-29 13:38:43 +00:00
3dcc68e529 own changes in recent commit broke curve loading because the curve type checking function looked in the curves listbase. 2010-09-29 12:46:26 +00:00
Nathan Letwory
7f7f3f5025 Fix [#24046] Keyframe display in Timeline isn't updated
Reported by Alex Glawion

Add necessary object selecction notifier handling to redraw timeline properly.
2010-09-29 12:34:32 +00:00
2597377b5c Fix #24054: Shift+A add menu in Surface editmode shows curve items. 2010-09-29 11:48:03 +00:00
Nathan Letwory
6e41dc8571 CMake on Windows for project files will now copy correct python dll and correct python modules in place. 2010-09-29 11:09:11 +00:00
Nathan Letwory
f9bb3198b9 Forgot to remove these ancient project files :) 2010-09-29 08:27:03 +00:00
Nathan Letwory
34195824fb Remove the project files in favor of CMake, so we won't be maintaining now two ways of using project files. 2010-09-29 08:24:43 +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
0fa4ba175f bugfix [#24050] Frame Rate buttons look strange 2010-09-29 07:55:13 +00:00
33fab0f7d7 fix for user counts with text3d bold/italic fonts. 2010-09-29 06:24:05 +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
2b59013490 bugfix pointed out by Kris Salaah (own mistake) 2010-09-28 19:57:47 +00:00
a90115c2ee bugfix [#24040] loop select -> delete edge loop crashes blender 2010-09-28 19:53:45 +00:00
30bd26d435 [#24028] Minor fixes to BLI_math_vector
+ minor warning fixes.
2010-09-28 11:48:13 +00:00
7a962c2636 patch [#24034] Fix for [#24010] in 3D view; updates material
from Alexander Kuznetsov (alexk)
fixes [#24010] specular color not updated in 3D window until object selected
2010-09-28 11:27:42 +00:00
677b9a194f need to set GL_SHININESS to the default value for weight painting. 2010-09-28 11:08:45 +00:00
92fd0680cb Fix for [#23732] Smoke / load external cache doesn't work 2010-09-28 10:04:41 +00:00
8df244f20d images bigger then 32k no longer crash blender, use unsigned int for image size rather then short.
also check if jpeg fails to allocate an imbuf.
2010-09-28 10:03:56 +00:00
8d50b283cb Fix for own recent commit 32147
* Pointcache wasn't checked to be valid before allocating the cached frames array
2010-09-28 09:27:35 +00:00
26482da2b4 Fix for [#23961] Object hair particles do not render if turned off in viewport 2010-09-28 09:11:24 +00:00
12be522cbe Fix for [#24031] Baked Physics with Phsics set to NO can't be freed
* Should fix the cause ("no physics" gets baked) and old files that are effected (ui allows freeing if cache isn't really used)
2010-09-28 08:47:59 +00:00
Nathan Letwory
8a68326f81 COLLADA: Better import and export of cameras. 2010-09-28 08:01:20 +00:00
690397efb2 bugfix [#23908] Irratic manipulator scale at far out distances 2010-09-28 04:25:16 +00:00
Nathan Letwory
d0da06e5c0 Make Cycle Render Slot actually cycle through all slots. 2010-09-28 03:26:17 +00:00
Nathan Letwory
b2c42b8ad1 Fix [#24038] keyboard navigation not working in second level menus
Reported by David Sullivan

Commit #32066 applying patch [#23675] broke keyboard and mouse wheel navigation in menu in deeper levels.
2010-09-28 01:20:36 +00:00
Nathan Letwory
8ca75a36a0 Move copying of %TEMP% to U.tempdir after slash adding. Otherwise path is handled wrong when opening filebrowser for it. 2010-09-28 00:14:02 +00:00
Nathan Letwory
ad1604e840 .B25.blend -> startup.blend 2010-09-27 23:33:10 +00:00
Nathan Letwory
76b1a27f96 Use content of %TEMP% also in U.temp_dir instead of /tmp/ on Windows. Internal btempdir uses that anyway, so less confusing. 2010-09-27 23:28:45 +00:00
Nathan Letwory
7c133760bb Sequencer timeline didn't update on FPS or FPS Base changes in render settings. Missed notifier handling. 2010-09-27 22:01:06 +00:00
Nathan Letwory
4b33deeb02 Fix [#23977] toggle back to object mode not working (outliner issue)
Reported by Roland Kramer

There was already code to prevent visibility toggle through restrict column from working when in edit mode. Reshuffled
code somewhat so it works also for object operations in outliner. Also ensure operator poll for visibility and selectability toggle
checks object is not in edit mode. So this also works for selectability toggling, so no more toggling when in edit mode - it's confusing otherwise.

Added notifier and handling for it for renderability toggle in outliner. No edit mode restriction here.
2010-09-27 21:22:20 +00:00
bbfbbe8e13 bugfix, screw modifier was overwriting its own calculated normals of the original verts. 2010-09-27 20:48:50 +00:00
e310b302ae minor console fixes
- selection doesnt mess up alignment when text is added to the buffer.
- tab key is now alligned to 4 (rather then adding 4 spaces).
2010-09-27 17:22:59 +00:00
f8e5e953c5 bugfix, console text selection /w wrapped lines now works. 2010-09-27 16:35:14 +00:00
1a3cc12999 fix for interactive console selection drawing with wrapped lines. 2010-09-27 15:14:58 +00:00
28a2eedce6 console now stores selection internally with 0 index starting at the end of the line. makes internal logic much less confusing. no functional changes. 2010-09-27 14:01:16 +00:00
8bc0cfc1ca Fix: Smoke wasn't using pointcache properly.
* The cache was reset almost constantly because smoke didn't save the first frame into cache. Although not necessary for smoke, it's vital to pointcache.
* Added info message to smoke cache panel for non saved files.
* Now smoke also only updates with a framestep of 1, so that scrubbing the timeline doesn't mess up the simulation.
* Among other things fixes report #23731.
2010-09-27 12:24:12 +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
11ce49830a bugfix [#24009] Crash when switching area types and performing ops
tested every view3d operator to make sure none crash.
2010-09-27 10:44:46 +00:00
afa4b855ca Fixed: Showing pointcached frames in the timeline was terribly slow when using disk cache.
* The existence of cached frames was checked each frame causing hundreds of disk operations per frame update.
* Pointcache now keeps an updated array of the cached frames for fast "frame exists in cache" queries.
* This fix also speeds up some other pointcache operations nicely.
2010-09-27 09:58:37 +00:00
03c65a0c01 bugfix [#23447] wrong vertices/edges selected in UV editor 2010-09-27 09:50:20 +00:00
Nathan Letwory
3ae8d4b1dc Explicitely cast to MultiresModifierData pointer to silence compiler warning. 2010-09-27 09:43:21 +00:00
97cc369f72 Fix: [#24006] writeffmpeg doesn't flush delayed frames - fix attached
and [#20843] FFmpeg H264 preset gives "Couldn't initialize codec"

Thanks to Leo Sutic for the patch!
2010-09-27 07:37:36 +00:00
dbd5524970 show material hardness in solid shaded mode 2010-09-27 07:01:08 +00:00
62c7786cd9 use a struct for fixed materials rather then float[2][4], easier to follow (no functional change) 2010-09-27 06:49:27 +00:00
b68f1a9f3d fix for floating point exception. 2010-09-27 06:14:51 +00:00
8907a0808a bugfix [#23995] Do loop cuts from the space bar search while in the properties panel crashes blender. 2010-09-27 05:44:15 +00:00
0699faf9b3 disable animating the camera lens angle, this way we dont have the problem where both lens and angle are animated
(2 fcurves accessing the same data), this should be handled by the units system but for now disabling this means we don't have to deal with animated angle later on.
note: durian files didnt use animated angle anywhere.
2010-09-27 05:23:23 +00:00
b4980165f1 invalid name [#23986] Camera->Lens->Pespective->Angle input 2010-09-27 05:16:45 +00:00
767a05da44 bugfix [#24015] Deleting Objects with a Point Density Texture and Rendering Crashes Blender 2010-09-27 05:02:54 +00:00
5158684256 bugfix [#24014] Operator UI not shown in the order defined 2010-09-27 02:52:12 +00:00
Ken Hughes
98ead2ff4e Fix typo that broke build on OSX. 2010-09-26 23:58:16 +00:00
606b800c46 OSX/Cocoa : discard Cocoa GL view flush while in live resize, and send Window size change ghost message only when user releases mouse button (not in live resize).
Potentially fixing bug [#23561]
2010-09-26 19:53:45 +00:00
57527cb0ac - Save MDISPS layer when applying modifier.
All sculpting used to disappear before. Save MDISPS if new mesh has got the same faces amount.
  NOTE: maybe some other layers should be saved?
- Apply multires modififier if MDISPS was auto-created.
  Multires's applyModifier used to return unchanged DM when MDISPS was auto-created.
- Set multires totlvl from MDISPS layer when new multires was added to mesh with existing MDISPS layer.
2010-09-26 18:29:54 +00:00
cf6b2ca034 Fix for [#23912]: Replace by integer comparison a float comparison whose precision errors was causing an infinite loop during last frame audio conversion 2010-09-26 16:11:53 +00:00
47628dfab6 missing include from own commit r32117 2010-09-26 13:53:32 +00:00
1190f43830 * Fixing Link to Release Logs. 2010-09-26 08:27:59 +00:00
cfc4399ab3 Added missed data listener ND_CURSOR to text space. 2010-09-26 07:07:05 +00:00
8babc5056f Fix for fix in revision 32122, viewer node wasn't working anymore in some cases. 2010-09-25 22:21:35 +00:00
0714c8af56 Fix #23991: vertex group sorting used case sensitive string compare,
now it uses case insensitive natural string compare.
2010-09-25 21:09:58 +00:00
4127dba12c Fix #23583: crash when deleting last keyframe in an f-curve with a generator
f-modifier.
2010-09-25 20:19:56 +00:00
38df1439c8 Fix #23708: F-key make links between nodes didn't add links when a node output
already had a link, not sure why this wasn't done, because the option to do it
was in the code.
2010-09-25 19:35:59 +00:00
9da82e2d68 Fix #23690: threading crash with compositing nodes and scopes view. 2010-09-25 16:35:02 +00:00
58082beda9 Fix #23847: keyframe insert on button not working in popup menus, e.g.
the vector popup for node inputs.
2010-09-25 14:32:26 +00:00
cd429bdb50 Fix #23985: crash in graph editor with objects without material. 2010-09-25 14:14:04 +00:00
9f6544b426 Fix #23983: Text editor does not update immediately when unlinking a text
- Unlinked text block was sending as reference to note which isn't safe at all
- Minor reorgonize of text space listener to use switches instead of big condition
2010-09-25 13:27:42 +00:00
0d3f0ff08e Fix #23901: displace node not working with negative values. 2010-09-25 11:30:46 +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
a3b0bda708 Fix related to #23606, tweak baking error message a bit so it also covers
the case where the image can't be loaded.
2010-09-25 08:31:58 +00:00
80f6ca9850 fix for own error with recent patch edits, globbing wasnt being cleared so importing an OBJ would keep *.obj when opening a blend. 2010-09-25 08:29:25 +00:00
468e48982b - Ignore selected handles if control point is selected when
snapping cursor to selection (fixes #23966: Cursor to selected: incorrect behaviour in curves)
- Keep handles' of selected vectors if control point is selected when
  snapping selection to grid/cursor
- Added definitions to hard-coded numeric flags for make_trans_verts
  and removed unused proportional flag
2010-09-25 06:45:28 +00:00
92954672dc bugfix [#23978] Error installing addon 2010-09-25 06:36:01 +00:00
b57e09544a Fix for [#21875] Copy rotation only on y axies 2010-09-24 17:49:33 +00:00
3567eebcc2 Fix for [#23549] Copy rotation don't work if influence is another than 0 or 1
* Replaced constraint result interpolation with much simpler logic, hopefully this doesn't create any unseen complications :)
2010-09-24 17:47:28 +00:00
b0f4c3c883 bugfix [#23973] Make Single User -> Object & Data dont work as expected 2010-09-24 11:28:56 +00:00
3e4a2c7219 bugfix [#19096] FBX doubly rotated
bug was infact that un-animated bones pose transformations were not exported.
2010-09-24 11:08:55 +00:00
46bcd48abf Changing loopcut count caused memory errors in some cases due to missing null check. 2010-09-24 10:49:29 +00:00
0ed109c550 missing check in recent commit 2010-09-24 10:39:26 +00:00
4a8c1e3a22 Fix for [#22289] Cancelling transform fails to revert change in f-curve handle type 2010-09-24 09:54:28 +00:00
afc58c3bea a few bugfixes since porting from 2.4x and from rna renaming. 2010-09-24 09:39:32 +00:00
df71f8828c Fix for [#22323] Graph Editor: crashe when transforming keys after pivot is set to "Individual Centers" 2010-09-24 09:18:28 +00:00
485bd68634 remove 2.4x commented lines 2010-09-24 09:15:24 +00:00
361bd506dc Fix for [#23970] Memory problem when setting hair amount to zero 2010-09-24 07:39:52 +00:00
6a4b9298c8 patch [#23968] filter_filetypes property to allow operators to filter by file extensions in the file selector
modified the patch to store the string internally rather then an array of allocated string pointers, less hassle with memory allocation.
changed to use fnmatch, so *.foo is needed (not .foo as with the patch)
2010-09-24 07:05:43 +00:00
99643037ca new utility function BLI_testextensie_glob
uses fnmatch to match strings like "*.foo;*.bar;*.blend?"
2010-09-24 06:20:43 +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
f866de1c9f missed this in recent commit. 2010-09-24 03:42:19 +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
05f8e53d33 bugfix [#23965] Segmentation fault when using bpy_struct.keyframe_insert() with nested custom property 2010-09-24 00:39:01 +00:00
3921f0528c Fix for [#22662] Transforming handles in the graph editor is broken. 2010-09-23 23:45:14 +00:00
Nathan Letwory
af27774158 Fix [#23539] Blender Generated Static Environments Fail To Save
reported by bowels

Saving environment map didn't look at relative_path setting, made it do so.
2010-09-23 22:44:03 +00:00
02fd98e1cf Fix #23170: multithreaded texture baking could give wrong results with margin,
with some threads not writing the margin mask.
2010-09-23 21:38:01 +00:00
3b17b75451 Fix #23005: circle select not working paint modes with face select. 2010-09-23 21:01:12 +00:00
63746ac4f7 Fix #22947: sample color tool not working in user preferences, was assuming the
color to be a property on an ID block. Note that sampling from another window
still does not work, only within the same window.
2010-09-23 20:26:03 +00:00
1199551239 Fix #22922: adding new nodes didn't add them at the mouse location. This also
caused auto connect to not work in some cases, because that now orders nodes
and only connects if the new node is to the right of the old node.

I doubted between always connecting to the new node as output or keeping this
ordering trick also when adding nodes. Decided on the latter because then you
can also add a node between two others and have it auto connect to both.
2010-09-23 20:16:45 +00:00
960cdb8f5d Fix other part of #22853: mirrored transform on armature tail/head only did not
mirror roll.
2010-09-23 19:31:01 +00:00
cc4e2dfa59 UI: for operator macro's, don't show internal ID name but UI name in redo panel. 2010-09-23 18:58:26 +00:00
d8ebb7beff Fix part of #22853: armature editmode crash with undo. 2010-09-23 18:54:06 +00:00
6ae2003250 Small code cleanup to remove old undo calls that do nothing. 2010-09-23 18:45:56 +00:00
c8343f59d8 Possible fix for #23947: baking while in editmode did not take into account
changes made to the mesh since entering editmode.
2010-09-23 18:26:33 +00:00
9b7cc91134 bugfix [#22169] LoopCut and Slide plus ArrayModifier Object offset FirstLast gives crash 2010-09-23 14:29:51 +00:00
57c4e9c8f7 [#23882] BrushTexture.Slot.size missing
missed with rna renaming
2010-09-23 12:50:45 +00:00
f88ad3f048 bugfix [#23595] Texture paint with a node based brush produces artifacts
also changed displace modifier not to link object depgraph when not using object texturespace.
2010-09-23 12:03:34 +00:00
6fdd00f709 Fix for [#22598] Animated texture properties do not appear in IPO if no material properties are also animated 2010-09-23 11:29:58 +00:00
7cbed194f4 Fix for [#23872] particle deflection in conjunction with SPH particles is apparently buggy
* Fix turned into a thorough cleanup and reorganization of particle collision response code.
* Collisions are now much more accurate, stable and even a bit more in agreement with real world physics.
* Only still remaining problem is rotating/deforming deflector objects, but that's something for the future.
* Visible changes should only be positive, i.e. no leaking particles, no strange instabilities etc.
2010-09-23 09:31:13 +00:00
1c3f2354f8 bugfix [#23795] Insert Visual Loc/Rot Keyframe of Armature Bones Broken
- converted 3 options in keying sets to use bl_options like panels & operators
- removed function arguments for new keying sets, better adjust these after to avoid duplicating properties in function arguments (they were not used).
2010-09-23 08:15:53 +00:00
dab69c01a1 whitespace commit, tabs -> spaces 2010-09-23 07:50:52 +00:00
e0289ff6fc support for PROP_ENUM_FLAG buttons, these were only supported by python. 2010-09-23 07:31:44 +00:00
25e3f68c7f fix for mistake in rna naming. 2010-09-23 04:49:01 +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
db47803de4 bugfix [#23954] Bone roll keeps changing when switching between EDIT <-> OBJECT mode
use lower epsilon value.
2010-09-23 01:48:31 +00:00
725c8dde92 patch [#23675] fix #22787 with workaround
from Shane Ambler (sambler)
2010-09-22 17:13:23 +00:00
e2c0777828 bugfix [#23577] Parenting scaled objects transforms them
commented so this line isn't added back.
2010-09-22 16:47:46 +00:00
7e121cb9a5 clear parent on objects with no parent would still transform them. 2010-09-22 16:30:57 +00:00
6bb0fc3e4f minor changes to text3d editing, skip wchar --> utf-8 conversion on cursor movement. 2010-09-22 15:39:43 +00:00
aa7db99a38 bugfix [#23832] Moving a pose bone doesnt update the transform button props realtime. 2010-09-22 14:34:02 +00:00
9387d46772 bugfix [#23948] Alpha from images inside compositor is gone
also fix memory leak.
2010-09-22 14:13:34 +00:00
9f901f6422 bugfix [#23950] Crash with bake 2010-09-22 13:43:31 +00:00
Nathan Letwory
0bbc2cf882 After discussion with Campbell (ideasman) on IRC I reorganized notifiers and created new one for visibility toggling (epilogue to r32052, fixing [#23944]). 2010-09-22 13:42:20 +00:00
d135e63705 bugfix [#23945] obj export problems 2010-09-22 13:24:21 +00:00
12628b197d bugfix [#23935] Exporting to Unity3d .fbx Blender 2.5 2010-09-22 12:36:54 +00:00
b27d924aac bugfix [#23514] Modifier names containing ']' character cant be animated. 2010-09-22 09:49:35 +00:00
b6d28b5850 Fix for [#21718] Shrinkwrap's "Project" mode with offset gives wrong results.
* normal offset not taken properly into account
* wrong usage of BVHTree (epsilon != radius) caused massive slowdowns in calculations, for example just opening test file took about 30 s on my machine, after fix about 0.5 s :)
2010-09-22 09:38:11 +00:00
764a760c66 Increasing compositor blur max size 2010-09-22 08:51:18 +00:00
Dalai Felinto
ef8a6e5c84 RNA renaming nodetree to node_tree
* previously some were left as nodetree, that is not only inconsistent, but it was also raising one of those RNA property not found errors)
2010-09-22 08:10:46 +00:00
Nathan Letwory
f82f3f235e Fix [#23944] Missing update of 3D view when toggling visibility of object in outliner with keyboard
Reported and patched by Torsten Rupp (patch [#23895])

Also fixed typo in toggle visibility operator name
2010-09-22 06:58:51 +00:00
1632db7b71 bugfix [#23784] Renaming files broken in the file selector 2010-09-22 05:32:39 +00:00
916085247a Fix #23925: converting text into a curve looses materials
filldisplist worked incorrect with polys when charidx matched but col doesn't
Also fixed material loose when converting text/curve to mesh
2010-09-22 05:08:52 +00:00
d2bc4a31a0 patch [#23796] Full support for unit buttons: area, volume, mass, velocity and acceleration
from Lorenzo Tozzi (oni_niubbo), suppress_only_shown.diff
2010-09-22 02:47:08 +00:00
e4f3a0efa6 patch [#23796] Full support for unit buttons: area, volume, mass, velocity and acceleration
from Lorenzo Tozzi (oni_niubbo), multiple patches: better_split.diff
2010-09-22 02:44:03 +00:00
b0f36f0317 patch [#23796] Full support for unit buttons: area, volume, mass, velocity and acceleration
by Lorenzo Tozzi (oni_niubbo)
2010-09-22 02:36:14 +00:00
Ken Hughes
d0451fea58 Changes to scons for building with static zlib and tiff libraries. 2010-09-21 21:10:49 +00:00
0c7285b9ae minor UI change so blender built without fluids wont give a python error 2010-09-21 16:31:37 +00:00
109edc544c bug report [#23933] "Select Linked" with "Limit by Seams" only working for Face Mode selection
This is intentional so include in tooltip
2010-09-21 16:21:01 +00:00
22317d7a29 Fix for [#23818] Edge slide not resetting properly when displaying edge lengths
* Temp selections weren't cleared on ending edge slide.
2010-09-21 15:16:58 +00:00
42872eb036 Temporary fix for [#23848] Image too small Error
* This should be fixed properly later when general window close/resize problems in the todo list are tackled.
2010-09-21 14:39:18 +00:00
3f18d7bb9b bugfix [#23927] Crash proportional editing: connected
crash when using too much stack memory, each recursive call for the sorting function would allocate 200 bytes in TransData per call (64bit os), now pass this as an argument.
2010-09-21 12:27:09 +00:00
8b72529942 fixed filename overwrite red highlight not updating when +/- pressed.
also made some vars not animateable.
2010-09-21 10:59:53 +00:00
cf4f9d2c19 bugfix [#23923] extra material slots created 2010-09-21 06:09:14 +00:00
Nathan Letwory
e2adc92341 nerr declaration was in wrong place, causing compile error on OSX 2010-09-21 02:45:00 +00:00
d0e13b331f Error reported by Daniel Salazar, Compositor color is wrong since my fix.
this is because of fairly confusing logic, when an SRGB image has a float buffer added its always LINEAR, so we have to account for this elsewhere.
So the conversion from byte to float works like this:
* NONE -> NON-LINEAR
* SRGB/LINEAR -> LINEAR
...but none change the profile variable.
2010-09-21 01:40:20 +00:00
efbda5c53e Fix #23754: glsl + constructive curve modifier not drawing correct. 2010-09-20 21:57:29 +00:00
2ac17c4c23 Fix #23917: selecting a directory with the file browser didn't append
a slash, which is necessary for e.g. render file ouput.
2010-09-20 21:11:38 +00:00
aff24bdc07 Fix error in normal flipping commit, that showed wrong result especially
with ray transparency + normals pointing away from the camera.
2010-09-20 19:57:14 +00:00
Nathan Letwory
67367a22cf Some fixes for warnings found while investigating quicktime-related bug reports. 2010-09-20 15:12:53 +00:00
b859d355c8 bugfix [#23739] # (hash) character can't be used in image filenames
images would convert hashes to numbers on load but it didnt update properly and this is what image sequences is for.
2010-09-20 13:35:55 +00:00
Nathan Letwory
f61f7dbb55 Silence a compiler warning. 2010-09-20 13:19:37 +00:00
Nathan Letwory
05296e3065 Partly apply patch [#23746] Clarify azone->edge values.
Submitted by Shane Ambler.

The original patches made an enum for action zone edges, changed positioning for minimised icons and repositioned minimised icon for operator properties panel.

I kept the enum idea, but further improved on the naming. Some switches used in place of if/else blocks and added some comments. See patch tracker for more comments.
2010-09-20 13:13:40 +00:00
5115a7068c missing free in vertex group sorting. 2010-09-20 13:10:53 +00:00
a523ec4b8b fix for own recent commit, pixel size for lamp/object center needs to use the view matrix for perspective and ortho. 2010-09-20 11:54:54 +00:00
e7edc4563a bugfix [#23326] Enable to add keframes on Image values (texture context) 2010-09-20 09:52:29 +00:00
d24e5c05e0 Fix for [#21976] edges disappear when using loop cut on geometry with hidden parts 2010-09-20 09:40:58 +00:00
7f76c2eab1 bugfix [#20576] Curve modifier and loop cut
Quaternion interpolation was skipped which gave ugly stepping with the curve modifier (broke with my curve twist fix)
2010-09-20 09:09:00 +00:00
2c5aba0c9f bugfix [#22263] Child of constraint - only rotation 2010-09-20 06:47:34 +00:00
a036626604 bugfix [#23849] When the file is opened, Blender 2.5x crushes.
id-property arrays saved in 2.4x would crash on reloading.
2010-09-20 05:46:07 +00:00
69d72046e2 fix for error and other minor changes found while looking into bug [#23813]. 2010-09-20 05:01:31 +00:00
ffd366e862 bugfix [#23813] Memory leak when importing bvh
This is not specific to BVH Importer, any operator called from python which returned cancelled would have wouldn't free its report list.
2010-09-20 04:59:20 +00:00
d88ba47eb9 bugfix [#23909] Calculating Depth
- depth was incorrect, changes since 2.4x.
- minor edit to transform manipulator, no functional change.
2010-09-20 03:28:02 +00:00
c64a9d8d41 bugfix [#23910] Removing an object in Py crashes blender 2010-09-20 03:09:24 +00:00
2ae4b2b687 bugfix [#23906] Cloud generate/degenerate crashes renderer 2010-09-20 02:53:39 +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
6ed4656604 map old/new rna & ui back 2010-09-19 13:38:45 +00:00
db354073ba patch [#23897] ARMATURE_OT_{hide,reveal}
from Dan Eicher (dna)
2010-09-19 13:18:05 +00:00
5b92c5bc54 fix for fix, corrention by MiikaH since I cant test. 2010-09-19 12:19:58 +00:00
b26de72970 fix for some win32 setups not having size_t defined.
Reported by MiikaH on IRC.
2010-09-19 10:43:42 +00:00
aaf328dc78 remove redundant []'s for list comprehension's, py2.4+ supports this. 2010-09-19 07:07:14 +00:00
ce639f18d6 fix for object centers size flickering when the view is far from the center (1000 or more units). 2010-09-19 06:41:44 +00:00
Dalai Felinto
f4198dce70 nodetree -> node_tree (rna pointer not found) 2010-09-18 21:04:33 +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
7c197b6849 Fix #23879: added undo/redo to object/paint/sculpt/pose menus as well,
and made some small modifications to object menu to make it a bit
shorter, still much too long though, but at least not worse now.
2010-09-18 16:17:32 +00:00
de9c443ff0 Fix #23850: hide cloth cache step from the UI because it can only be set to 1
anyway, which is confusing.
2010-09-18 15:57:42 +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
a45797fe55 bugfix [#22767] parenting object causes rotation/scale/location information to be corrupted 2010-09-18 14:47:59 +00:00
9fae26efe9 Fix for [#23753]: Enable QTKit import to run in background thread
Was crashing file browser when there was some quicktime movies in the folder
2010-09-18 12:50:45 +00:00
868fdd80a2 use is rather then == when comparing against None. 2010-09-18 10:43:32 +00:00
6963574a55 scons now gets the blender version from BKE_blender.h. 2010-09-18 10:37:51 +00:00
Nathan Letwory
90b57077cc Apply patch [#23887] Fix for [#23886] Timeline region update missing when adding/select/moving markers
Reported and patched by Torsten Rupp

When a time marker is added in the timeline window via keyboard (keycode M) or existing markers are selected/moved via
the mouse the marker resp. the selection state is not draw immediately in the timeline window region.

The patch adds notifiers where necessary to ensure updates.
2010-09-18 08:49:03 +00:00
e2f4395864 Fixed problems with outliner update in same cases caused by my previous commit.
This troubles were caused by "break" of ND_OBJECT case in outliner area listener,
so not all cases were handled.

Handle more data and actions in outline listener, but not refresh when it's
actually unneeded (there where problems with it without that "break" -- extra
refreshing could be made).
2010-09-18 08:37:47 +00:00
d81315e9d2 bugfix [#23706] SEGFAULT: File Load of EXR
image node was modifying the original buffer color management, now only modify a copy.
2010-09-18 07:19:32 +00:00
c853c23267 missed renaming this function call. 2010-09-18 04:24:04 +00:00
b655413689 bugfix [#23884] Crash On Delete of a Duplicated Object 2010-09-18 04:08:40 +00:00
dea59cc5eb warning fixes and minor cmake changes. 2010-09-18 03:55:56 +00:00
d5e11d409f fix for a (probably harmless) bug in makesdna where 1 byte off the end of the buffer was used in a comparison.
also fixed a memory leak.
2010-09-18 03:46:13 +00:00
Dalai Felinto
3e1ff2e590 UI fix: psys.hair_dynamics -> psys.use_hair_dynamics 2010-09-18 00:19:53 +00:00
Nathan Letwory
6d9e4c719a Apply patch [#23745] fix #23078 operator panel disappears.
Patch by Shane Ambler
Reported by Anthony Edlin

From the patch details:
"
In response to bug #23078 the operator panel disappears when dragged above the top of the 3dview without showing the
azone icon to restore it.

This patch properly hides the operator panel if dragged near the top of the 3dview so that the azone icon is in place
"

Thanks!
2010-09-17 23:50:10 +00:00
Nathan Letwory
a06c46d8dd Apply patch [#23846] Fix for [#23698] in File Browser system. Properly removes handler and sfile when File selector disapears.
Patch by Alexander Kuznetsov
Reported by Chidozie Oku

From patch description:
"
Handler is now released on every exit from File Selector. For example pressing ctrl-up and then changing editor type
to another also releases the handler.

When an area is changed from SPACE_FILE, ED_fileselect_exit is called for clean up. It takes function of freeing folder
list and files (before it was done in cancel or exec functions) because they must be released on every exit anyway.
op!=null means cancel or exec was not executed so a handler was not released. ED_fileselect_exit then releases the handler
without changing screens.
"

Thanks!
2010-09-17 22:12:23 +00:00
b4a4c33054 Possible fix for all the particles related SIMD SVBVH bugs.
* Velocity for particles that were born at exactly integer frames was calculated wrong when they were born.
Note: If you had a raytrace acceleration related bug, please clear the pointcache for all particles, toggle a particle setting to reset pointcache and rebake to create a valid simulation.
2010-09-17 19:02:19 +00:00
4e9c329faf patch [#23855] fix CMakeList.txt for WITH_QUICKTIME
from Filiciss Muhgue (filiciss)
2010-09-17 16:54:59 +00:00
62a8be4817 patch [#23840] [Pose]Bone.envelope(point=(0,0,0))
from Dan Eicher (dna) 

Basically just wraps distfactor_to_bone() and passes the correct head/tail depending on which bone type it's called
from.

note:
 renamed envelope() --> evaluate_envelope()
2010-09-17 16:45:42 +00:00
6717b75ecd bugfix [#23783] /../ prefix stops going up a dir
also fix for recent addition to operator check(), when the file selector is loaded with no operator.
2010-09-17 15:11:12 +00:00
84dc5a3b94 bugfix [#23864] Bevel Modifier + UV crashes under certain conditions 2010-09-17 13:52:38 +00:00
5452f335d7 New optional operator function, check(), it takes the same arguments as execute().
This runs after changing a property and allows correcting incompatible options.
 Returning True will redraw the UI.

Currently this is used for setting the write extension when saving files, so changing the image format also corrects the extension.
The same is accessible from python where its used when saving SVG/EPS/PNG files.

This fixes: [#23828] obj export problems, [#23760] Exporting OBJ and filetype ending
also fixed document submission operator.


Now the filename in the file selector is the one used for writing this means we remove the "Save Over" popup which could be overlooked too easily.
Instead display the filename field with red tint, and a note in the tooltip.
2010-09-17 09:27:31 +00:00
945ae25409 fix for some errors when saving blend files.
- when comparing with libraries, relative paths were used which could easily fail.
- testing libraries was done before adding the .blend extension.
2010-09-17 08:53:39 +00:00
b9a3da9080 Fix #23869: outliner not updated correctly/instantly
Added ND_OB_SELECT notifier to separate operator. Selected objects
aren't actually changing, but there is no existing ND which could be used
for outliner update.
2010-09-17 06:52:48 +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
5ae75d5dc8 Fix #23652: texture paint RMB would translate the object after sampling
color, made sample a modal operator now to solve this. It's an indirect
solution, but couldn't think of anything better, and it's useful to have
anyway.
2010-09-16 21:03:07 +00:00
7d0e17922a Fix compile error after last commit in boids. 2010-09-16 20:33:46 +00:00
a0e1e9d1e1 Fix #23839: missing V shortcut for rip tool, now the rip & move operator
is in the menu instead of rip which is not as useful by itself. Location
of the problem pointed out by Sergej Reich, thanks!
2010-09-16 20:16:20 +00:00
e7a393d2e1 Tiny addition to boids functionality: pitch value
* Controls maximum rotation around side vector (as opposed to banking, which controls rotation around forward vector)
2010-09-16 20:06:10 +00:00
43d2d0c6ea Bug fix: Boids that could only fly didn't take the ground object into account leading to problems when flying near the ground.
Reported by Mike Pan and Dalai Felinto by mail.
2010-09-16 20:00:30 +00:00
b19521f2b2 Fix OS X memory leak prints when starting blender:
"__NSAutoreleaseNoPool() ... autoreleased with no pool in place - just leaking"
2010-09-16 19:42:51 +00:00
39113a3582 Fix #23857: game engine world colors were not color corrected yet,
giving inconsistent results with render/UI.
2010-09-16 19:03:01 +00:00
7abb3217e3 Fix #23867: GroupNode.nodetree name inconsistent with Material/Texture.node_tree,
changed to the latter, patch by Dan Eicher, thanks!
2010-09-16 19:00:15 +00:00
7428e708ac Fix #23865: F8 reload scripts doesn't work with an addon enabled,
broken with bugfix for #23001.
2010-09-16 18:50:33 +00:00
2c79fa84b6 Fix #22603: Crash on launching external editor in texture paint [r29461] [WinXP 32bit]
Crash was caused by missed offscreen OpenGL buffer. Added checking around this stuff.
Also fixed crash of simple "Image from view operator".

Note: This commit fixes only crashing, you'll be still unable to use this tools.
2010-09-16 15:54:48 +00:00
19704f74b1 recent fixes for mingw + cmake broke msvc 2010-09-16 07:26:06 +00:00
f788c68b9c bugfix [#23831] Removing an IK Constraint in pose mode still draws bone with IK highlight
+ moved bone envalope scale into transform menu, pose menu is getting huge.
2010-09-16 07:14:48 +00:00
Nathan Letwory
6b18c9dc61 Partial fix (Linux) [#21395] Command key for keyboard mapping not functional
Reported by Andy Braham

Handle XK_Super_L and XK_Super_R as the GHOST_kKeyCommand. Since Command key is
not discerned (yet) in left/right variants, read both and set accordingly.

This now completes fixes for [#21395]
2010-09-16 06:52:12 +00:00
4a840db7e9 armature selection when entering editmode wasnt working well (in 2.4x too)
root bone selections were cleared if there was no connected parent. Now only set the root selection state if there is a connected parent.
2010-09-16 06:28:11 +00:00
26b41bd0b5 bugfix [#23841] Bone envelope draws funky 2010-09-16 06:04:47 +00:00
Nathan Letwory
666b65a8d0 Make sure rna_armature.c compiles. Use BLI_math.h that includes <math.h> and ensures it compiles on all platforms. (fix for r31956). 2010-09-16 05:49:09 +00:00
36c273b1f7 - bone roll now in degrees not radians.
- rna buttons with units set now use the units base value for snapping. 
- bone head/tail radius could be set negative.

matt: removed a check in ui_is_but_unit() which made angle buttons return false, what was this for?
2010-09-16 04:19:22 +00:00
Nathan Letwory
d6baea457e Partial fix [#21395] Command key for keyboard mapping not functional
Reported by Andy Braham.

Handle VK_LWIN and VK_RWIN (The infamous Windows keys). Note, these are not separate, so handled as one command key.
2010-09-15 23:19:21 +00:00
d08a40450e Fix cmake/osx blenderplayer linking. 2010-09-15 19:03:52 +00:00
7d8f0fce7a patch [#23758] Better handling of UTF chars in UNITS fields (lengths, angles, etc.)
from Lorenzo Tozzi (oni_niubbo) with minor edits.

--- from the tracker
The present situation is this: due to bug#22274, during editing, UTF chars are stripped from buttons with a unit associated
(length, angles, etc.).
Example: if the button displays '90°' and you click on it with LMB, the editing string will become '90'.

The problem arises if you use microns: '34µm' becomes '34' that blender interprets as 34 meters. So clicking on a button
and hitting enter won't confirm the previous value, but will change it (very badly also).

Of course nobody is using microns in blender, but the problem will arise when we will implement areas and option 'Separate
Units' will be enabled. The value '2m² 3cm²' will become '2m' during editing.

This patch solves the problem rewriting the string in a smarter way than just stripping the UTF chars: the unit is translated
from unit->name_short ('µm') to unit->name_alt ('um'). So clicking on '34µm' the editing string will become
'34um'.
--- end

note: rather then allowing empty strings in name_alt field I made it so if the unit system was the default one a NULL name_alt will just strip the string, since its the default its not needed.
2010-09-15 17:37:00 +00:00
fb454bfe08 bugfix [#23802] addons panel empty
was using locale.getpreferredencoding() to read the file which depends on the system setup, better use 'UTF-8' always.
2010-09-15 16:42:10 +00:00
e6ce108f5c ignore BLI_bfile with cmake since its not used anywhere 2010-09-15 16:23:04 +00:00
9b518710c6 update for MingW/CMake
- ignore MSVC warnings when FREE_WINDOWS is defined to quiet warnings.
- the CMake flags were not being set correctly making blender have weirdo colors (no -funsigned-char).
2010-09-15 16:13:32 +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
Nathan Letwory
bff1bef6bb Fix SCons for [#23833]. Ensure that empty dirs will exist too. 2010-09-15 14:50:14 +00:00
d5ee95644d win32 mingw works again with cmake 2010-09-15 14:36:32 +00:00
84c4062928 bugfix [#23833] Console Errors (Keymaps)
dont allow non-existing preset paths to be passed to the preset menu.
2010-09-15 13:41:38 +00:00
1e291017ca add missing notifiers for bone circle/border/lasso select. 2010-09-15 13:22:36 +00:00
4828d0cba0 bugfix [#23830] Border selecting bones in editmode bug
was missing a call to glLoadName(-1); so drawing commands after the bone were taken into account with the selection.

made some other minor changes that dont change functionality.
2010-09-15 13:07:36 +00:00
Nathan Letwory
2ac0a5637c Apply patch [#23779] Small cleanup with gl_roundbox*
By Luca Bonavita (mindrones)

The patch renames and moves gl_round_box, gl_round_box_shade and gl_round_box_vertical_shade to UI_interface.h, so the extern usages are not needed anymore.
2010-09-15 12:18:50 +00:00
Nathan Letwory
d97d727d09 Apply patch [#23755] Sequencer: small code cleanup using existing color math functions
By Luca Bonavita (mindrones)

From detailed description: This patch doesnt change functionality, but uses the existing color math functions from math_color.c into
sequencer_draw.c.
2010-09-15 11:58:19 +00:00
Nathan Letwory
8a25c33fca Apply patch [#23809] Blender.exe -W support
by Dalai Felinto/Nathan Letwory

This basically implements -W support for Blender.
2010-09-15 11:48:59 +00:00
90bd472ef2 filling is used for 3D curves but not for filling, sigh. 2010-09-15 08:38:29 +00:00
46b61ccf21 in response to [#23812] bevel object, but no caps.
tweak the UI so fill options are only available with 2D curves and greyed out when bevel object is used.
2010-09-15 08:34:41 +00:00
fadf169190 - rna properties for bones, select_head, select_tail
- fix for minor inconsistency in armature selection, entering editmode and selecting a bone would move the manipulator because the selected bones, childs root wasnt selected on entering editmode.
- use copy_v3_v3 rather then VECCOPY in editarmature.c
2010-09-15 08:03:33 +00:00
a8db76f00e fix for error in last commit. 2010-09-15 08:00:19 +00:00
Dalai Felinto
ee7a2ccb22 BGE Dome: fix for "objects parented to the camera will be rendered multiple times in Dome mode"
The funny thing is: I only spotted this bug in March of this year. Almost one year after the original release. I think I don't parent objects to the camera often.

In terms of code I think that I can even think in a more elegant solution. I don't really need to rotate the camera, but simply to calculate its Modelview Matrix.
"""
m_rasterizer->SetViewMatrix(viewmat, cam->NodeGetWorldOrientation(), cam->NodeGetWorldPosition(), 1.0);
cam->SetModelviewMatrix(viewmat);
"""
The reason why I originally was rotating the camera was to make sure the frustum calculation was using the right camera frustum. For the frustum it takes the camera modelviewmatrix so the rotation really shouldn't be necessary. Leaving as it's for the time being.

* Note: the bug was never officially reported
2010-09-15 07:05:55 +00:00
9234f29e67 bugfix [#23405] PNG Images bigger then 2gig wont load with blender.
all image formats should be able to load files bigger then 2gig (when its supported)
2010-09-15 06:43:36 +00:00
7eb7410002 remove inventor and vrml1 support, we're better of having these legacy formats as addons. 2010-09-15 05:57:48 +00:00
Dalai Felinto
e2a0b302ff Logic UI: reset the value of a key when clicking outside the input button
Otherwise you had no way to set it to none. This doesn't really matter, but it's nice "userwise" to be able to clear the pressed key.
2010-09-15 04:42:01 +00:00
d2a1218210 Two small bugfixes:
- A property used in an 'active' poll for UI code in the NLA Editor was missed during the RNA renaming madness, leading to error prints in the console

- For matrix blending code, 'fsize' arrays were being declared wrong size (4 elements long instead of 3).
2010-09-15 04:15:42 +00:00
a3470be1bc Allow start frames < 1 on image sequences. 2010-09-15 03:45:33 +00:00
31ddda3bf0 bvh import was broken for non euler-native rotations 2010-09-15 03:33:49 +00:00
9e7142e2b0 == Multires ==
Fixed a crash when drawing without ptex
2010-09-14 23:41:11 +00:00
7eec372df3 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r31833:31926 2010-09-14 23:37:58 +00:00
72b7528388 == Multires ==
Drawing optimization for VBO: only create one index buffer object for a single grid level
2010-09-14 22:33:29 +00:00
8d0c01e6e2 keyconfig updates/changes
- use preset subclass with funcs for updating the keyconfig
- keyconfig filenames are used for the UI names as with presets (so separation anymore)
- keyconfig's are stored in the preset dir (scripts/cfg dir removed)
- only the active keyconfig script is loaded
- some bugfixes for saving keymaps
- user interactions no longer saves keyconfigs too, I think this needs to be re-worked.

developer note...
multiple keyconfigs at once are not really needed now that they are stored & accessed directly in python.
for now I left it alone but we could consider to remove this capability in the future.
2010-09-14 16:45:24 +00:00
ce98d6ae17 fix for own bug for font buffer drawing (only effected the bottom line of the stamp) 2010-09-14 12:35:02 +00:00
baadd70ea1 Fix for [#23794] Particle System + FS Motion Blur corrupts some frames and possibly cache 2010-09-14 12:17:09 +00:00
a1ff472e07 Particle edit brush strengths were loaded wrong for old files. 2010-09-14 09:32:43 +00:00
Dalai Felinto
46f25680aa blenderplayer fix for "offset" problem when in fullscreen mode (worked together with Nathan Letwory - jesterKing)
The FullScreen state was never set. Therefore the window boundary was returning the wrong dimensions (it was assuming that it was not fullscreen).

* Note: blender.exe -W has a similar problem. We are working on that ...

Tested in Windows only. If someone can test in Linux and OSX please let me know if it's good there as well. To test it: ./blenderplayer -f myfile.blend
2010-09-14 08:19:42 +00:00
74b2022a82 button to remove presets.
note: this is an option to the add preset operator which is a bit odd but easiest since these classes have all the info needed for removal as well.
2010-09-14 04:58:25 +00:00
7245177c26 Fix for a particles memory leak:
* Hair wasn't freed properly when changing particles from hair to normal particles.
2010-09-14 01:47:01 +00:00
ca940016e1 Fix for [#20350] particles are offset from emittor in dupli-objects 2010-09-14 01:43:46 +00:00
Dalai Felinto
9cc3f7dd98 "flip -> pen_flip" missing rename on particle edit mode
(it was raising the error RNA_boolean_set OperatorStrokeElement.flip not found ) [Thanks Mike for spotting that :p]
2010-09-14 01:11:54 +00:00
1a58c6af7e revert 31916, while having the image name and the material name mixed, this is intentional else texface export breaks.
ideally this would only happen in cases where there are more then 1 image so we could avoid ugly names in common cases.
  svn merge -r31916:31915  release/scripts/op/io_scene_obj/export_obj.py
2010-09-14 01:10:20 +00:00
Nathan Letwory
a02e69064d Fix [#23761] OBJ exported materialname wrong
Reported by Reiner Prokein.

Just use the material name instead of concatenating with any image names to it.
2010-09-14 00:45:37 +00:00
Nathan Letwory
4dc52feb70 Fix one more case of z_transparency 2010-09-14 00:30:45 +00:00
Nathan Letwory
4554278a1c Apply patch [#23782] Fix typo in netrender UI
Submitted by Imran Syed (freakabcd)
2010-09-13 22:57:35 +00:00
55f7451c52 fix for sphinx doc generation 2010-09-13 13:29:54 +00:00
Nathan Letwory
ba2a9ae88e Fix [#22612] FFMPEG writes incorrect Xvid FourCC code
Reported by Karl Nyman

When XVID is chosen for FFMPEG make sure that XVID is written for FourCC code.
2010-09-13 12:56:39 +00:00
74f060bfe5 Fix for [#23729] Smoke / Edit Mode bug 2010-09-13 11:14:12 +00:00
Dalai Felinto
898e7857f4 blenderplayer parsing code (better) fix
After last commit I realized that we have a different behavior when running blenderplayer or a runtime. Reason being is that when running blenderplayer the filename is mandatory. While in runtime mode it has no use for it (it can still be passed, but it makes no difference).

I also updated the -h (help) message to be multiplataform and to pass the filename argument only when in blenderplayer mode.

If someone wants to have fun it would be nice to port the blender new parsing code to the gameplayer.
* note: how come "noaudio" is used in the examples but it's not in the options list? *ouch*
I'm leaving as it's in case noaudio get implemented ...
2010-09-13 08:30:56 +00:00
88fac85123 avoid re-creating and assigning addon UI properties for every redraw 2010-09-13 08:16:31 +00:00
cd1dc29e65 patch [#23221] Merge bone : Within chains : infinite loop
from Yvon Tanguy (vono)
2010-09-13 07:30:11 +00:00
0c815a42fd bugfix [#23528] ED_pose_channel_in_IK_chain() doesn't take length of IK chain into account 2010-09-13 06:57:03 +00:00
bd5a62cfcb bugfix [#23068] Image editor: Update Automatically not updating the compositor.
[#23637] Replacing an image used in the compositor crashes
       [#23343] changes in images doesn't update compositor image nodes
2010-09-13 06:08:26 +00:00
18702a9eef bugfix [#23001] Addons do not unregister properly in Blender 2.5.3
Now reloading the user defaults also unloads/loads addons, resetting the state to the one set in the user preferences.

moved addon functions into bpy.utils
- bpy.utils.addon_enable(name, default_set=True)
- bpy.utils.addon_disable(name, default_set=True)
- bpy.utils.addon_reset_all(name, default_set=True)

the user preference operators now just wrap these.
2010-09-13 04:52:56 +00:00
Dalai Felinto
9153e82d21 blenderplayer commandline argument fixes (for -f and -w)
argc always include the filename, therefore all the optional parameters should check for < argc instead of <=argc.

E.g. That was causing "blenderplayer -f 800 600 myfile.blend" to play in a wrong  Bpp (since it was trying to parse the filename to fullScreenBpp).

Bug introduced on rev. 16448 (in 2.49) and merged to 2.5 in rev. 19323
2010-09-13 04:52:20 +00:00
7c9bf53bf1 bugfix [#23778] obj importing forgets to enable transparent into material 2010-09-13 02:35:59 +00:00
a82874c2ee Animation Editors: Added menu entry for deleting selected channels, as requested by animator working with Matt 2010-09-13 00:53:47 +00:00
c4a83ec086 Bugfix: Timeline did not refresh when changing selecting a bone
This happened/was most noticeable when clicking on a bone of an armature in posemode but not active (i.e. some object other than the armature is active when trying to select the bone).
2010-09-13 00:47:12 +00:00
Nathan Letwory
4038ca3e71 Fix import of material with z transp enabled.
Reported by Heikki Lehikoinen in #blender.fi
2010-09-12 20:24:15 +00:00
396aece473 Partial fix of bug #23543 in COLLADA exporter:
* multiply the diffuse and specular colors by their respective intensities
* only output <transparency> if MA_TRANSP flag is on
* only output <reflective> and <reflectivity> if MA_RAYMIRROR flag is on
2010-09-12 20:19:15 +00:00
4bba0e3397 spec files for building arch linux packages (pacman) 2010-09-12 16:00:12 +00:00
b6a36a3b89 silance compiler warning. 2010-09-12 14:46:41 +00:00
797bb93b21 bugfix for [#23737] reported by Mariusz Maximus
netrender client's functions to get slaves and jobs info didn't work anymore (was reading response content twice).

At the same time, I switched to json for the dump and load, instead of using eval and repr (for obvious security reasons). I should have done this much earlier.
2010-09-12 14:04:54 +00:00
74059891e9 option to disable ITASC IK solver, (will be enabled by default ofcourse)
- option only available to cmake, scons and make have this enabled always.
- without this clang/llvm can compile blender
- this was the second biggest internal lib, 192mb -> 172mb for all blenders libs (with debug flags), so gives some speedup to linking.
2010-09-12 12:27:12 +00:00
d0a1b76fe4 use relative paths for ghost/cmake 2010-09-12 12:16:50 +00:00
1fdfcf47a0 building without python was broken 2010-09-12 12:09:31 +00:00
Nathan Letwory
97964e5766 Fix [#23770] io_anim_bvh reloads the wrong module
Spotted and fixed provided by Tim Baker
2010-09-11 23:13:47 +00:00
Dalai Felinto
3a2fc4d6dc BGE module reshuffling - VideoTexture -> bge.texture
this was the one module left to be renamed.

We didn't get to any conclusion in the mailing list, but Campbell suggested texture and I think its a good name. We can change any time before next Beta, but for now I think it's handy to have something.

The original proposal is from May:
http://lists.blender.org/pipermail/bf-committers/2010-May/027587.html
2010-09-11 19:38:11 +00:00
9ce624f6f6 Removed a "properties" too much. :/ 2010-09-11 15:33:30 +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
38669bd5fd - added PNG image export option to UV layout (was only SVG and EPS which was annotying for some users)
- support for non utf8 paths when exporting UV layout.
2010-09-11 10:31:50 +00:00
ae6e013c15 new materials and cameras had incorrect usercounts when added from python 2010-09-11 06:27:38 +00:00
5d229db946 incorrect docstring 2010-09-11 06:15:37 +00:00
b2b0869212 - camera max zoom limit was inconsistent
- camera pan now follows the mouse
2010-09-11 04:39:00 +00:00
63a8056839 - py api splash URL was old, use blender version (menu was ok in the menu)
- netrender reloading fix
2010-09-11 04:23:45 +00:00
1fe90ba049 Fixed the splash screen: previous had incorrect colour, typography, no transparent header. 2010-09-11 00:19:38 +00:00
0df7cde29a Fix for own stupid bug the other day, messed up the gradients in selected/deselected UI elements.
Didn't know beta was going to be today, really hope this makes it in!
2010-09-11 00:08:07 +00:00
cd4fb20b73 Patch [#23759] more replace self.properties.foo --> self.foo for bf-extensions/trunk/py/scripts
by Filiciss Muhgue (filiciss). Thanks a lot!

Part 1: Trunk, second part of patch will be committed to Extensions.
2010-09-10 23:39:43 +00:00
1e24fceb5d == Ptex ==
Missed a conflict in my last merge
2010-09-10 17:54:52 +00:00
40bf22e955 Part 4 of 2.54 beta commits (last) 2010-09-10 16:39:08 +00:00
f1df602048 Part 3 of 2.54 commits (1 more!) 2010-09-10 16:34:03 +00:00
61c50403b0 Part 1 of 2.54 beta build commit 2010-09-10 16:29:19 +00:00
bf18e89396 fix for error updating rigify UI classes 2010-09-10 16:07:18 +00:00
5416fee99a Bug #23715: patch by Jan Diederich to avoid having duplicate IDs after they are translated.
For example, object ID names "1a", "2a", "3a", will be exported as "_a", "_a2", "_a3". Thanks Jan!
2010-09-10 15:24:10 +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
fc6d27313b Fix for [#23090] Blender 2.5 : move object to new layer crashes Blender 2010-09-10 08:36:14 +00:00
46f0fbcf0a Fix #23742: a NURBS surface created with two joined curves crashes Blender on rendering
Nurb's material number used to be clamped to [0;-1] for case object hasn't got
materials. Forced to keep material number on zero if object hasn't got any materials.
2010-09-10 06:05:18 +00:00
cf4e32a06c remove redundant buffer character positioning code & remove attr keyword argument from property definitions. 2010-09-10 04:04:48 +00:00
5bf97d7786 bugfix [#23607] Render Stamp, incorrect apostrophe Y position. 2010-09-10 03:56:11 +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
3d9cf8b916 Fix bug caused by someone else's error. 2010-09-09 22:39:27 +00:00
111965478a replace self.properties.foo --> self.foo 2010-09-09 18:03:57 +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
49585914e2 fix for addons UI with recent rna changes,
also moved temp properties from the scene into the window manager since they are not saved there.
2010-09-09 14:22:03 +00:00
9bdb7b5ffa fix crash for calling setattr with a non-string attribute and warning. 2010-09-09 13:58:38 +00:00
2dbb96b972 Partial fix for [#21948] Full sample motion blur with cloth - cloth and collision object render issue.
* Now cloth reads cache using subframes when rendering.
* Cloth cache also was reset every time on the start frame which kind of defeats the point of the caching.
2010-09-09 11:07:07 +00:00
7abf2faa20 Bug #23715 in COLLADA exporter: prepend an '_' to the ID if it starts with an illegal character.
Pointed out by Tom Haines. Thanks!
2010-09-09 11:01:30 +00:00
ad48fd1db9 Patch by Jan Diederich, fixes bug #23715 in the COLLADA exporter.
Allow IDs to start only with an alphabetic character replacing digits with an '_'.
2010-09-09 08:14:36 +00:00
a755f9f7ed Fix for [#23734] Force Fields Min/Max don't work
*Special case for planar vortex field
2010-09-09 07:52:35 +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
716647d394 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r31667:31833 2010-09-09 04:07:28 +00:00
4eaa10aa02 == Multires ==
Fixed bug #23657, "Modifiers dosen't work when you select diffrent mesh for object"

Multires modifier now adds empty mdisps if they're missing, rather than displaying a warning
Switching an object's mesh will now check for a multires modifier; if found the modifier's total number of levels are reset to match the mesh's mdisps
Switching the mesh also forces a multires update so that sculpted changes aren't lost
2010-09-09 00:14:51 +00:00
2d4e8ba22f bugfix [#23725] bpy.context.window_manager. 2010-09-08 21:47:16 +00:00
cc0d31b921 Fix for [#23736] Network render - error in file: release\scripts\io\netrender\client.py + patch.
Patch by Mariusz Maximus (mariuszekpl). Thanks!
2010-09-08 19:49:05 +00:00
f0fe8a559d Partial fix for [#23714] Linked instance group with particles doesn't render properly
* Only partial because rendering of dupliobjects / groups with particles isn't yet fully implemented
2010-09-08 11:08:34 +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
Nathan Letwory
6abf53b574 Apply patch [#23632] Allow single quotes in RNA paths.
By Lukas Tönne

In the console RNA paths can use double quotes (" ") or single quotes (' ') to select from a collection, an
ID property or a vector/color component. The RNA_path_resolve function however only accepts double quotes. This patch
adds the ability to use single quotes in areas other than the console too.

PS. Note the very nice patch ID :)
2010-09-08 08:42:36 +00:00
741a53050f Hair disconnect/connect wasn't working properly. 2010-09-08 08:36:12 +00:00
Nathan Letwory
06b1c933b3 Commit patch [#23685] Cleanup/crashfix for AA using win32 ghost.
Provided by Mitchell Stokes (Moguri)
2010-09-08 08:25:38 +00:00
b58f41e120 addon improvements/fixes
- better error reporting when an addon fails to load
- upload an addon which loads partly but then fails (eg, module loads but class register fails)
- bugfix addon loading, failier to load would leave _bpy_types._register_immediate = False
- added which change on disk are reloaded when enabling.
- bpy.path.module_names() now returns (module_name, module_path) pairs.
2010-09-08 07:30:20 +00:00
1a41d2fc29 new bpy function bpy.path.module_names(path, recursive=False)
addon's and python initialization both had this inline.
2010-09-08 04:55:37 +00:00
5b428e9158 bugfix [#23720] Performing an object operation in the Outliner in Visible Layers display mode causes CTD 2010-09-08 03:34:45 +00:00
ecbb170bb0 patch [#23717] Another install target fix for cmake/linux
from Ralf Hölzemer (cheleb)

 fix for *nix install target
2010-09-08 03:13:19 +00:00
8737dcfc7b bugfix [#23722] Artifact in 3D View with empties saved to default .blend. 2010-09-08 02:55:48 +00:00
942dda3f2d * Increase Ray Depth Property Range, request by Conz. 2010-09-07 20:49:44 +00:00
Nathan Letwory
20ca4b188d Fix [#23716] Add background image broken
Reported by Josh Wedlake
2010-09-07 20:27:40 +00:00
115b256738 ran through pep8 checker 2010-09-07 15:17:42 +00:00
e53bbc7ab7 Graph Editor tweaks:
Buttons for editing RNA paths/array index for F-Curves that aren't working are now actually functional. This means that when invalid paths are present, they can be manually fixed up.
2010-09-07 12:03:09 +00:00
51aa26db62 Fix [#23634] Edit Box in World / Ambient Occlusion has wrong background colour 2010-09-07 11:14:20 +00:00
7f686a46f5 bugfix [#23648] Add image strip window checkboxes don't work 2010-09-07 10:48:25 +00:00
00e71bd955 Compile fix 2010-09-07 10:31:47 +00:00
28d18d59a3 bugfix [#22831] transform problem with hidden parent object
dont allow selecting of hidden objects or restrict selected object by using the BASE_SELECTABLE macro.
2010-09-07 10:24:12 +00:00
ea95d71067 bugfix [#23189] Num-0 swtich to Camera view and back doesn't respect UserPerspective view.
also fix for recent cmake edits.
2010-09-07 09:15:59 +00:00
db775721c8 Windows Installer:
* Remove text "(Requires Windows 2000 or better)", as we don't support Windows 2000 anymore. 
* Fixed link in Help.url
2010-09-07 08:16:28 +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
51d996ab36 Bugfix #23707: Autokey Available is ignored on a Clear Transform
Checks are now done to see if only the active KeyingSet should be used instead of always using a hardcoded value only.
2010-09-07 03:58:50 +00:00
2ffa9e1309 == Sculpt ==
Fixed bug #23654
Brush copy clears its preview, so that the copied brush's icon isn't linked to the old brush
2010-09-07 03:02:03 +00:00
fd53393a5d patch [#23650] fix stubs.c for optimized build
from Filiciss Muhgue (filiciss)

--- from the tracker submission
if compile Blender with /GL on msvc, linker error LNK1237 occur on building blenderplayer.exe.
http://msdn.microsoft.com/en-us/library/at5twzkt(v=VS.90).aspx
2010-09-07 02:39:32 +00:00
ab07ba84bf patch [#23703] Fix for Level compositing node; correct color representation
from Alexander Kuznetsov (alexk) 

--- copied from the tracker
Every image inside Blender is in linear color space and gets converted to SRGB upon saving.
Level node analyzed the linear image, which was not the one user saw because other output nodes converted image  to
sRGB.
This fix analyzes the image that user see (converting it to correct color space).
Here is difference:
http://www.pasteall.org/pic/show.php?id=5559

First histogram (before the fix) tells that image is underexposed, which is not the case.
2010-09-07 02:36:51 +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
e0aca888de bugfix [#23464] Crash on Tab
OBJ importing edges would produce corrupt meshes because face edges were not created.
2010-09-07 00:32:45 +00:00
0a2e0b28bf bugfix [#23631] Faces and edges missing in edit mode
there was no way to clear fgons.
2010-09-07 00:20:31 +00:00
59ac5b0930 in response to bug [#23701] Edit Mode: unable to bind vertex/edge/face select modes to keys
while not a bug, being able to cycle over vertex/edge/face modes is useful. added an operator to cycle an array, could be used for cycling the active layer or mesh edit mode.
2010-09-06 22:43:09 +00:00
6b6d6304e2 bugfix [#23702] Parent to hidden object crashes 2010-09-06 22:10:51 +00:00
67d2060450 bugfix [#23704] Background image does not support special german letters 2010-09-06 22:00:15 +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
f6c68f1019 bugfix [#23663] relative path dind work on linux 2010-09-06 13:28:57 +00:00
259b4c12e3 bugfix [#23674] Fix for texture path corruptions (bug 23337)
from Mathew Burrack (mburrack) 
...also applied a fix so this flag wont be written but including this patch for older startup.blend's.

--- from the tracker
I've created a patch for the texture path corruption bug, 23337. Basically, G_FILE_RELATIVE_REMAP was improperly getting
saved out to the startup.blend file, causing issues when the autosave timer went off. The proper fix is to mask out
that flag so it doesn't get written out to .blend files itself, but since that doesn't fix any pre-existing startup.blend
files, I just mask it out when startup.blend is read in instead.

I've tested it locally and so far, it seems to fix all the issues I've had with texture image paths getting corrupted.
I haven't figured out how to properly test the remap-on-save option in the save as dialog, though, so I don't know if
I accidentally broke that or not (although I don't see how I could have).
2010-09-06 12:54:54 +00:00
629c19ff87 bugfix [#23593] using material_slot.material=material_slot.material.copy() causes inescapable loop and blender to hang 2010-09-06 11:29:23 +00:00
a436adf26d Fix for [#23028] Driver gets remapped when importing 2.49 file
* Rotation drivers weren't converted properly from ipos to fcurves.
2010-09-06 10:35:32 +00:00
8a6f6698d8 bugfix [#23697] New Empty Scene lacks World Settings 2010-09-06 10:25:38 +00:00
04b0dcd9e5 - use list append in more places (preferred method since its faster)
- remove some unused include paths
- remove unused linux path define
2010-09-06 10:15:41 +00:00
eef3b72c0e Fix for [#22960] UV/Image editor - Back to Previous button 2010-09-06 09:46:34 +00:00
594c40e37f bugfix [#23641] enable/disable switch of "Limit" Constraints are inverting 2010-09-06 07:26:21 +00:00
a785361b41 bugfix [#23695] SigSegV when deleting camera from multiple scenes via outline pop-up menu 2010-09-06 06:48:19 +00:00
b60bc0ee85 display_properties was being re-defined for each keymap item. 2010-09-06 06:04:05 +00:00
27fff49335 revert keymap name commit, matt says everything should be '2D View', '3D View...' etc, so for now just go back to what we had.
reverse merge:
 svn merge -r31774:31773 .
2010-09-06 05:40:52 +00:00
f96c7ebd9d committed by accident 2010-09-06 05:35:09 +00:00
ec1e038453 bugfix [#23552] keymaps big problem 2010-09-06 05:27:54 +00:00
0106b00a2a rename '3D View' keymap, since its know as 'View 3D' for other areas of the keymap editor. 2010-09-06 05:20:05 +00:00
eb1a9f070f Report by Dan Eicher (dna). [#23694] ColorRampElement.position typo 2010-09-06 00:33:08 +00:00
f2ba2f5d87 == Ptex ==
* Fix blur tool on mesh border
2010-09-06 00:07:01 +00:00
b972793aaf == Ptex ==
* Fixed blurring brush to work with ptex
* Added a convert operator to convert ptex data between 8-bit, 16-bit, and float

Still has some issues; blurring 8-bit data darkens it, and there are small seams between tiles
2010-09-05 19:10:11 +00:00
a2451f925f This fixes: [#23260] VSE Marking with shortcuts doesn't work 2010-09-05 15:18:45 +00:00
04139a115c patch [#23671] [desktop file] add translations and remove deprecated key.
from Cosme Domínguez Díaz (cosme)
2010-09-05 15:15:27 +00:00
7e23353b08 Fix #23680: Explode with Split Edges over SubSurf - crash
Edge splitting function used CDDM_get_faces to get faces array, which isn't correct
for this case: dm's type is ccgDM. Use dm->getFaceArray instead.
2010-09-05 12:17:35 +00:00
e6f9d3d541 Windows Icons:
* Removed old not used icons.
* Player is using the same icon file as the blender.exe now.
2010-09-05 07:08:21 +00:00
75f8a8a164 Bugfix for [#23571] Blender Desktop Icon does not change size under Vista and Windows 7
* Committing new logo, same design as old one, just larger size, by Alexander Kuznetsov
. Thank you!

Note: Could only test on Vista. But it should also work on XP machines.
Note 2 (to jesterKing, elubie: Vista uses the winblender.ico also for the blend files, it doesn't use the winblenderfile.ico. But I guess Windows XP use that still? 
If not we could remove that, also blenderplayer, is same as blendericon.
2010-09-05 06:31:31 +00:00
e75f037fac This fixes: [#23672] If frame offset is too high the strip jumps forward
when you try to move it.
2010-09-04 20:55:31 +00:00
979b06f739 Merge -c 31610 (<instance_node> support) from COLLADA branch into trunk. 2010-09-04 19:27:04 +00:00
916a466e15 Bugfix for [#23676] Obj Import fails again. 2010-09-04 11:11:37 +00:00
Nathan Letwory
25af4f12fa Silence warning about BLI_sprintfN 2010-09-04 09:27:21 +00:00
1c7306b045 2.5 Constraints:
*Enable/Disable Checkbox was inverted.
2010-09-03 16:45:33 +00:00
31331fb61d error with allocating memory for a new material array (own fault in recent commit) 2010-09-03 16:23:31 +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
b0c4b1216d Fix for [#21101] Switch off collision at collision object is not recognised by falling softbody Object
* When removing a modifier that effects the depsgraph the DAG_scene_sort has to be done after the update call so that dynamic systems can clear the collision surface properly.
2010-09-03 07:50:22 +00:00
d89d724c46 Fix for [#22387] Collider stickiness seems to have broke
* Note that this fix might slightly change the simulation results of some files that use the stickiness value, but lowering the value should fix these issues.
2010-09-03 07:47:10 +00:00
d0c54d3d0e use set as a suffix (matches operators)
- set_frame() --> frame_set()
 - set_context_pointer() --> context_pointer_set()

material adding works for curves and metaballs, new function to remove materials.

materials.link() didnt well fit how this is used elsewhere
 - order matters
 - it can be linked more than once.
 - remove(material), isnt that useful since you need to manage indicies.

... use list style functions instead. materials.append(mat) / materials.pop(index)
2010-09-03 07:25:37 +00:00
870469ec0e Fix for [#19950] Object Particles and texture controlled density
* The hair strands that were cut based on the texture weren't properly checked for in the duplication code.
2010-09-03 06:18:23 +00:00
9659d47d8b Fix for [#23642] Particle system "Lifetime" setting does not animate 2010-09-03 06:12:40 +00:00
1642cb2a80 Fix for [#22147] Particle system, fight boids bug (dead particle) 2010-09-03 05:54:09 +00:00
b06abafe7a "Fix" for [#23640] particle system partially indifferent to vertex groups
* Some particle vertex groups haven't yet been reimplemented so commented these out in ui.
2010-09-03 05:48:19 +00:00
c4d2586019 Changed the error messages "Can't pack/unpack movie or image sequence." to more descriptive ones "Packing/Unpacking movies or image sequences not supported." as suggested by Brecht. 2010-09-03 05:25:12 +00:00
Nathan Letwory
d5ddc9eadb Fix [#23569] Convex hull bounds crash Blender
Reported by dobz116

This appears to happen only on 64bit Windows. An issue for this part of code was
reported at http://code.google.com/p/bullet/issues/detail?id=204 and fixed at
http://code.google.com/p/bullet/source/detail?r=1650 . The code change also fixes
the crash we experience: merged changes.
2010-09-03 05:18:36 +00:00
a8269c8946 SVN maintenance. 2010-09-03 03:30:20 +00:00
de7f183f37 script for dumping rna api, to be used to generate api changes for release logs.
added to review function calls too.

output:
# * functions *
KeyConfig.keymaps.find(string name, enum space_type='EMPTY', enum region_type='WINDOW')  -->  KeyMap
KeyConfig.keymaps.find_modal(string name)  -->  KeyMap
KeyConfig.keymaps.new(string name, enum space_type='EMPTY', enum region_type='WINDOW', boolean modal=False)  -->  KeyMap
KeyConfigurations.new(string name)  -->  KeyConfig
KeyConfigurations.remove(KeyConfig keyconfig)

# * properties *
WorldMistSettings.intensity   <--  float
WorldMistSettings.start   <--  float
WorldMistSettings.use_mist   <--  boolean
WorldStarsSettings.average_separation   <--  float
WorldStarsSettings.color_random   <--  float
WorldStarsSettings.distance_min   <--  float
WorldStarsSettings.size   <--  float
WorldStarsSettings.use_stars   <--  boolean
2010-09-03 02:26:42 +00:00
Nathan Letwory
e03437a34a Fix [#23638] Missing directory creation
Reported and patched by Mariusz Maximus

I overlooked this one while fixing up for win64 compiling, because I had already manually created this directory.
2010-09-02 22:04:33 +00:00
Nathan Letwory
d372fc178c Fix [#23578] Blender crashes when Audio Scrubbing is on
Reported by Guy Smith.

MSVC-compiled code would fall over iterator decrease on empty list. Shortest snippet to redo: http://www.pasteall.org/15408/cpp
See also http://www.pasteall.org/15409/cpp for list.end() behaviour on MSVC. Thanks to Jörg Müller for assistance.
2010-09-02 21:56:08 +00:00
d8d3cc69ef patch from venomgfx, show number of textures assigned to lamps and world in the context panel 2010-09-02 18:13:06 +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
4e9162cd63 revert own commit which changed weight range, the set weight operator is for the goal weight, not the nurbs weight. 2010-09-02 10:56:50 +00:00
f611fa80af Fix for [#23298] Kill particle breaks when baking simulation
* Cached particle die times are now read from cached data
2010-09-02 10:26:19 +00:00
2e61c4be9b Possible fix for [#23334] Particle Mode - Weight editing crashes if large number of particles OR you have added in Particle Mode 2010-09-02 09:11:40 +00:00
5db18d474f "Fix" for [#23621] lattice modifier on particle hair when applied doesn't apply it to the hair
* Although not strictly a bug it is the expected behavior and won't mess anything else up.
* Note: the lattice is applied to the actual hair keys instead of the calculated strands so the applied result will differ a bit from the original.
2010-09-02 08:06:53 +00:00
18954a711f Fix for [#22329] Particles won't render when display mode is different 2010-09-02 07:24:38 +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
35535c2cb9 Fix for [#23136] Particle display percentage "forgotten" after render
* The actual problem was that the total amount of particles was rendered at all, since only the displayed percentage was calculated correctly.
* New behavior is that before baking (baking is always done for full % of particles) the display % is used for rendering too for dynamic particles.
* Also added a warning below the display % slider to inform about the situation.
2010-09-02 06:58:54 +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
d172001cee [#23462] Hair display affects rendered quantity 2010-09-02 05:51:02 +00:00
b75eeac6bd Fix for [#23274] curve guide force particles to born at the wolrd's origine
* Particle emitter location wasn't taken into account properly
2010-09-02 05:37:54 +00:00
ddbfb05c84 rna context rename
* context.main & bpy.types.Main --> context.blend_data & bpy.types.BlendData
* context.manager --> context.window_manager
2010-09-02 04:53:05 +00:00
Nathan Letwory
6e1e638313 Fix [#23613] Align active camera to view vs toggle camera acts odd
Reported by Reiner Prokein

After aligning active camera toggling between last view and camera worked wrong in such a way that the view previous to the one to which was aligned was rotated to. In some cases rotation to last view seemed incomplete and ortho was used. Thanks to M.G. Kishalmi (lmg) for showing through a Skype screen share.

This is now fixed by copying the current view info before active camera is aligned.
2010-09-02 00:24:33 +00:00
4ddc61643a Renaming of Cylindric objects after a good proposal by Conz:
http://www.vrchannel.de/blender/cylinder_rename.png

Mesh Tube > Mesh Cylinder
NURBS Tube > NURBS Cylinder
Metaball Cylinder > Metaball Capsule

I know that naming is something not everyone agrees on, but these terms look geometrically correct.
2010-09-01 21:11:33 +00:00
dda1db08ee Spell fix, reported by troy_s in IRC. 2010-09-01 21:06:25 +00:00
Ken Hughes
c4895719af Fix "no newline at end of file" warnings in *nix. 2010-09-01 21:02:27 +00:00
dd4aecb97a Audaspace: Removing an unneeded function. 2010-09-01 20:33:26 +00:00
bd79d80b8a Internal Code Renaming:
Donut > Torus
2010-09-01 20:18:31 +00:00
1c4b6ff334 SVN maintenance. 2010-09-01 19:39:37 +00:00
3c90ce6725 Send NC_SCENE|ND_TOOLSETTINGS notifier when select mode was forced to edge select
in loop cut operator. Header buttons have "delayed" update without this notifier.
2010-09-01 17:03:31 +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
Nathan Letwory
da31d2628e Fix [#23612] OBJ import with imports double textures
Reported by Reiner Prokein

A .obj file can have multiple mtllib statements with the same name. Ensure that only one occurance is saved, so we don't get multiple entries from same material.

Also fix tabs -> spaces
2010-09-01 14:49:34 +00:00
39cb1432d8 bugfix [#23285] Exporters not available whel using special characters in path name
- ID properties now suopport non utf-8 strings for their values but not their keys.
- moved utility functions into py_capi_utils.c from bpy_utils and bpy_rna.
- import/export paths have to be printed with repr() or %r, so non utf-8 chars are escaped.
2010-09-01 14:13:48 +00:00
Nathan Letwory
81d9a3de43 * add missing imports
* fix indentation: tabs -> spaces
2010-09-01 13:55:41 +00:00
b49bd51bc8 Quicky - allow dragging an image on a 3d view background
to set it as the background image. Dragging on an object still 
sets it to face-mapped texture.
2010-09-01 13:41:53 +00:00
a89c526a92 finished moving importers and exporters into python packages (as proposed on the mailing list).
- made operator dir's into python packages
- lazy loading of module which do the actual import and export (faster blender load times)
- general maintanance and small fixes.
- bugfix for exporting x3d materials
- leak fix for exporting 3ds
2010-09-01 12:11:34 +00:00
7532bc2325 poll function for py api operator access
eg:
 if bpy.ops.object.mode_set.poll():
     ...
2010-09-01 11:16:11 +00:00
4a427fa4ff Particle billboards weren't created properly 2010-09-01 10:29:03 +00:00
e50bdef683 Fix for [#23596] Particle Harmonics cache problem
* Non-dynamic particles weren't reset properly because they don't use pointcache
2010-09-01 09:47:19 +00:00
e5b9ad3817 Added missing ID_NEW() in set_sca_new_poins_ob() as pointed out by Dalai. 2010-09-01 08:09:23 +00:00
Nathan Letwory
94d4ff6423 remove debug prints 2010-09-01 06:51:20 +00:00
Nathan Letwory
5241c27594 Python library copying hack.
When creating project files the multi-configuration generator is used. CMAKE_BUILD_TYPE is then not set, so always release libs were copied.
For now copy both release and debug.
2010-09-01 06:19:38 +00:00
Nathan Letwory
3de9aa38cd * Don't use /ZI when 64bit building on Windows. Use /Zi instead.
* Copy files to ${BLENDER_VERSION} instead of .blender/
* Don't try to copy iconv.dll when 64bit building on Windows - it is static for 64bit.
2010-09-01 05:39:26 +00:00
66a4de07e0 excuse the noise, adding type's in format package names. 2010-09-01 03:06:28 +00:00
afe5c536fa moving import/export scripts into packages (just moving scripts, need to add __init__.py still, temp break import/exporters) 2010-09-01 03:02:30 +00:00
16d26b7eb1 cleanup duplicate GPL haeders, blender made 2.4x __bpydoc__ into __doc__, removed version info, (thats what svn logs are for).
also moved create_derived_objects & free_derived_objects into io_utils, used by x3d and 3ds.
2010-09-01 02:48:23 +00:00
5036a9d20c use mix-in classes for import export operators, these define the filepath property and invoke function at the moment. 2010-09-01 02:25:49 +00:00
d67eedcef9 Adding intern/guardedalloc include dir for bad_level_call_stubs (stubs.c). This update is for cmake and scons.
This is needed since RNA_types.h now includes BLO_sys_types.h
2010-08-31 23:55:41 +00:00
Dalai Felinto
a41c0a55d5 Fix for "RNA_enum_get: ActionActuator.mode not found.". It was broken since recent rna renaming
Found while looking at another bug, unfortunately it's unrelated :)
2010-08-31 22:27:54 +00:00
614eb41c56 RNA Renaming Fixes for particle UI. 2010-08-31 15:12:24 +00:00
41a49a6bc9 simple NULL check to fix a crash when running in background mode 2010-08-31 14:56:14 +00:00
a51f31e9a5 Fixes for RNA Renaming in Texture Properties (Volume Material) 2010-08-31 14:54:04 +00:00
26da3cb99f patch [#23585] Fix for [#23553] in File Selector; Multiple Calls of Selector
from Alexander Kuznetsov (alexk)
bugfix for [#23553] F2 on filebrowser = bug?

from the tracker
--- snip
File Explorer redraws weirdly on second press of F2 if non-default view or file types were selected previously.

This patch prohibits second call of file selector in the same window.

The bug goes much deeper. If file selector is never closed properly (cancel or select), it never gets released. (at
least the handler). If you press F2 or Ctrl-F3 ten times and than "Back to Previous" and repeat all of this
several times Blender will freeze. Also after calling file selector at least two times, on cancellation Blender will
return to full area independently to what state it was before.
---

include small unrelated change to quiet unpack prints when fonts are not found.
2010-08-31 14:22:00 +00:00
a98b93be57 2.5 Fluid UI:
* Required memory is now shown on the Bake Operator, rather as an extra label.
2010-08-31 12:54:17 +00:00
dfb8c5974e rna support for passing dynamic sized arrays to rna functions
using this for object.vertex_groups.assign([index list ...], group, weight, mode)
2010-08-31 11:31:21 +00:00
Nathan Letwory
9a290b39c7 Fix [#23592] WM draw method detection fails for Mesa's software rasterizer.
Reported and patched by Vinay Pawar.

The drawing method will be set to Overlap on detection of Mesa software rasterizer.
2010-08-31 11:30:13 +00:00
2492c12170 == userprefs: addons ==
- From now on addons bl_addon_info['name'] doesn't need to specifcy also the category, it is put automatically in the addon box title
  In some script category and the category in the title were not matching, this had to be fixed manually.

- The warning icon is at the right of the addon box title, so that it cant disalign the addon name anymore when we have a warning.

- After discussing with Campbell, I've added the field bl_addon_info['api'] where we should specify the Blender API version number the addon is 
compatible with.
  This is certainly useful for clarity, and also I need it in place while preparing the downloadable addons.
  
- Also, bl_addon_info['version'] is now assumed to be a tuple of integers as it is bl_addon_info['blender'].
  Any important text should be placed in the bl_addon_info['warning'] field, not in the script version anymore.
  I'm going to reflect this change in bf-extensions so that scripts won't suddenly break.
2010-08-31 02:41:33 +00:00
fb1a0598e9 Updating stubs.c.
* WM_keyconfig_add -> WM_keyconfig_new
  * WM_keyconfig_add_user -> WM_keyconfig_new_user
2010-08-30 20:35:24 +00:00
eb7c02c2a0 Fix spelling. 2010-08-30 19:51:12 +00:00
a81177545e svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r31488:31667 2010-08-30 19:06:15 +00:00
d59304e8e4 another function moved, should be last of the simple cases.
km.item_from_id() --> km.items.from_id()
2010-08-30 14:48:12 +00:00
44eb9f5095 missed this one too
scene.add_keying_set() --> scene.keying_sets.new()
also removed the use_ prefix since argument names, since this is mainly for properties.
2010-08-30 14:33:46 +00:00
eab50148e2 - keymap import/export works again (broke with own api changes)
- function renames, move WM functions into collections wm.add_keymap() --> wm.keymaps.new()
  note: new is used for named items in a collection, which return the result.
- Action.get_frame_range() is now a readonly property 'frame_range', floats rather then ints.
2010-08-30 13:50:59 +00:00
ec8848d03a raise an error when setting the values of read-only rna wrapped Vector/Matrix/Euler/Quat 2010-08-30 12:27:34 +00:00
92f6dd73b3 fix for resolving rna paths, RNA_path_resolve could return a property which was the parent of the pointer (when it would normally be assumed to be the child).
also change pythons struct_rna.path_resolve to return StructRNA's or Properties when the property isnt NULL.
2010-08-30 09:18:21 +00:00
e5b1e646e6 bugfix [#23573] object rotates when IMAGE_SEARCH is off 2010-08-30 08:44:36 +00:00
6a993054ad bugfix [#23586] Euler.rotate() method is broken
fix included in the report
2010-08-30 08:37:35 +00:00
df4dd70d7b various utf8 compatibility fixes
- OBJ import/export now work with non utf8 paths. (all exporters and importers need changes like this)
- strip non utf8 chars from new ID blocks (also applies to renaming)
- set the file rename button to allow non-utf8 chars.
2010-08-30 08:28:48 +00:00
f7dfb23337 bugfix [#23197] Python can't handle German umlaut characters in strings
workaround for python bug with Py_CompileString(), reported http://bugs.python.org/msg115202
2010-08-30 08:23:48 +00:00
52ca27cc45 Patch [#23524] UI cleanup for commit 31587 by Filiciss Muhgue (filiciss).
Thanks!
2010-08-30 07:15:54 +00:00
766e83f742 stubs.c updates 2010-08-30 02:04:22 +00:00
8346268daf Bugfix #23551: FMODIFIERS: Steps "Use End Frame" doesn't enable
One old property name was missed during the renaming madness, so the 'active' poll always failed there.
2010-08-30 01:57:50 +00:00
1f2bc7b7b3 Bugfix #23575: Hook modifier don't update name of bone acting as the controller when the name of that bone is changed 2010-08-30 01:07:45 +00:00
88f657f251 scons compiling fix:
When "svnversion" can't be found (as is usual for anyone running TortoiseSVN), build_revision info will be "", which breaks compiling. Worked around this for now by using "<UNKNOWN>" as this
2010-08-30 00:49:23 +00:00
57e0d677c6 Committing patch [#23489] add method getEventStatus() to PythonKeyboard and PythonMouse by Geoff Gollmer (gomer)
This patch makes SCA_PythonKeyboard.events and SCA_PythonMouse.events return a dictionary of all inputs (including inactive) instead of a list of active inputs.

Example usage:
import bge

if bge.logic.keyboard.events[bge.events.SPACEBAR] = bge.logic.KX_INPUT_JUST_ACTIVATED:
  print("Spacebar pressed!")

A couple of changes to the patch:
  * Wrap python stuff in #ifndef DISABLE_PYTHON
  * Clear and decref m_event_dict in the destructors

A couple of things not related to the patch:
  * Made member variables private
  * Removed a commented out (and no longer used) method (SCA_PythonMouse.show())
2010-08-30 00:18:50 +00:00
Nathan Letwory
cb786f0022 Remove unnecessary \''s. This cleans up also printouts in splash and bpy.app (no more unnecessary quotes). 2010-08-29 21:53:12 +00:00
Nathan Letwory
c29b5df739 Changing representation, so there's no space between the words. 2010-08-29 21:49:50 +00:00
Nathan Letwory
37b54281b2 Fix indentation errors 2010-08-29 21:38:59 +00:00
Nathan Letwory
6c113b54b3 Finally change SConscript tabs to spaces. 2010-08-29 20:52:05 +00:00
Nathan Letwory
999bb69c70 Properly set build type: Release or Debug 2010-08-29 19:47:26 +00:00
Nathan Letwory
57aee2ecf4 Tell what platform and its bitness in BUILD_PLATFORM 2010-08-29 19:44:50 +00:00
de2e58ca49 fix for the weight range for curve set weight operator 2010-08-29 15:53:37 +00:00
69949d730b added animation data update to the help menu as discussed in last meeting. 2010-08-29 15:40:48 +00:00
c2e43d7c3b Tweaks to ASC-CDL colour balance formula to exactly match the spec. 2010-08-29 04:48:00 +00:00
ad70072009 BGE patch #22623 applied: new bound type: Capsule. 2010-08-28 20:56:54 +00:00
76918e6f90 Timeline Notifier Listener:
* Added ND_FRAME_RANGE to the header listener, changing frame range in Properties Window didn't update it in the timeline, reported by Hardworker in IRC. Thanks! 
* Main Area Listener doesn't listen to all NC_SCENE Notifiers now, only selected ND Notifiers, like the header does. This is more efficient. If there is a reason to let it listen to all NC_SCENE notifiers, please tell me. :)
2010-08-28 15:04:42 +00:00
f28b5e672e python/utf8 compatibility fixes. (as discussed on the mailing list)
- user input gets non utf8 chars stripped all text input other then file paths.

- python has the same limitations, it will raise an error on non utf8 strings except for paths use unicode escape literals so its possible to deal with saving to these file paths from python.

- new string functions
  BLI_utf8_invalid_byte(str, len) returns the first invalid utf8 byte or -1 on on success.
  BLI_utf8_invalid_strip(str, len) strips non utf-8 chars.
2010-08-28 12:34:22 +00:00
7a7076c878 obj export fix for meshes with no UV textures 2010-08-28 12:15:14 +00:00
b1302c3c04 After talking with Campbell, we came to the conclusion that it was probably best not to auto-import modules. To this end, I'm removing the automatic import of the bge module. 2010-08-28 08:00:37 +00:00
0d530c3ddb Fix #23363: Layer buttons do not update when last object deleted
This happend because of incorrect order of calculating used layer mask and drawing
header. Added layer content changed notifier to recalc used layers when needed.
This also fixes header redrawing in "Move to layer" operator and when user
changes Object.layers in properties view
2010-08-28 07:07:02 +00:00
5c23537daa Committing patch [#23278] (by me)
This patch allows a user to pass binary data to LibLoad() to load a blend file from memory instead of a file path. I don't know how useful this will be for others, but I've used it so far for:
  * Decrypting .blend files and loading them without having to store the .blend on the hard drive
  * Pulling .blend data out of an archive and loading it (again skipping the hard drive)

So, it seems the biggest use for this is skipping a bit of file IO (and possibly some security problems).

Example usage:
import bge

with f as open('myfile.blend', 'rb'):
    data = f.read()

bge.logic.LibLoad('Name', 'Scene', data)
2010-08-28 02:07:55 +00:00
5729b991fa bugfix [#23548] calling fcurves.new() results in EXC_BAD_ACCESS 2010-08-27 23:14:52 +00:00
77c7e10e9c apply scons change from r31616 to cmake. 2010-08-27 22:53:48 +00:00
c64efcb009 patch [#23535] Fix for [23408] in Outliner plus other UI fixes there
from Alexander Kuznetsov (alexk) 

Authors comments
---
- Rename textfield sometimes exceeded scroll bars' and window's borders.
- Restrict buttons were over not under the rename field.
- Restrict lines didn't go all the way.
- Because of 2.4x interface system, in 2.5 rows were shifted 2 pixels up.
- In Datablocks and User Preferences view bottom line was down by one.
- Rows in Datablocks, User Preferences and Keymap view didn't extend all the way but check boxes and text fields did. It was visible while scrolling horizontally  or at right bottom corner.
- Vertical lines in Datablocks and User Preferences didn't stop at the last horizontal line after last row.

This patch fixes those problems.
P.S. I tested the vertical offset with value of 40 so it works perfectly.
2010-08-27 22:22:10 +00:00
24627daabb patch [#23522] UI fixing for recent Python API changes
from Filiciss Muhgue (filiciss)
2010-08-27 22:12:59 +00:00
b76176faff patch [#23537] Memory leak in compositor rotate node
from Jeroen Bakker (jbakker)
2010-08-27 22:09:24 +00:00
Nathan Letwory
cc70bffb62 Make sure correct python31 zip is unpacked when BF_DEBUG=True 2010-08-27 21:42:33 +00:00
44cbc14771 The duplicate Text option in the TexFace panel came from a bad rename of tex -> use_bitmap_text instead of use_image, so I'm adding the use_image (Tex) back to the TexFace panel. 2010-08-27 10:05:33 +00:00
3ccb30c161 missed this with rna renaming. 2010-08-27 08:21:11 +00:00
125b82ad4c Fix [#23451] Render View, one plus button too much 2010-08-27 07:44:36 +00:00
26e71929d8 bugfix [#23220] .x3d export not exporting UV correctly
- UV texture coords were never written.
- TexFace with no material resulted in an invalid XML file (unclosed tag)
- freewrl wouldn't parse "FALSE", needs to be "false"
- the ID data name was being written as the filename, so in many cases images wouldn't load.
2010-08-27 07:32:58 +00:00
b0b787ef38 bugfix [#23534] Custom Properties not showing in OBJECT panel 2010-08-27 06:11:42 +00:00
3912f55408 Bugfix #23504: Axis-Angle Rotation keyframes were not being inserted correctly when using the 'Rotation' Keying Set 2010-08-27 04:43:47 +00:00
fb66c93b90 OBJ export nurbs curves now export again. 2010-08-27 04:43:42 +00:00
3cdcff9859 OBJ Import support for nurbs curves back, remove some commented code. 2010-08-27 04:07:12 +00:00
b0aa8368fe rna api
obj.add_vertex_group() --> obj.vertex_groups.new()
  obj.add_vertex_to_group() --> obj.vertex_groups.assign()

note: obj.vertex_groups.assign() will be very slow, need to have this take a list rather then 1 vertex at a time.
2010-08-27 02:33:35 +00:00
6d195f6195 speedup for pyrna boolean checking.
if bpy.data.objects: ...

Would get loop over the entire collection, instead see if this collection has a single item.
2010-08-27 01:50:50 +00:00
9d2b1af0a1 move dopesheet UI template from C to python 2010-08-27 01:23:53 +00:00
Dalai Felinto
c15c223ccd Fix for Mesh.uv_textures.new(name="my_uv") returning the wrong uvmap - reported by Vitor Balbio - not in tracker.
The code was taking the last layer, but that is only valid if the mesh has only one kind of CustomData types (e.g. only UVMaps or only VertexColors). The solution I found is to call CustomData_get_named_layer_index instead. To avoid some situations where an uv with this name may already exist and the number of UVs is already the limit we are returning a CDL only when the texture is properly created.

As a bonus that also fixes the same problem with VertexColor.
2010-08-27 00:35:59 +00:00
240b164a87 fix some errors in rigify caused by recent api changes 2010-08-27 00:05:00 +00:00
c20bb3ec43 own rna naming commits r31439 r31472 also renamed BGE vars unintentionally 2010-08-26 23:49:46 +00:00
ea3be03743 ED_view3d_draw_offscreen_imbuf_simple and ED_view3d_draw_offscreen_imbuf now accept the imbuf flag so they can get the float buffer from opengl directly. 2010-08-26 23:30:15 +00:00
50bce31dbb rna api changes
- mesh.add_geometry(v, e, f)  --> mesh.vertices.add(tot), mesh.edges.add(tot), mesh.faces.add(tot)
- mesh.add_material(mat) --> mesh.materials.link(mat)

changed material.link so it always adds a material even if it exists in the list, this behavior is good for users but not scripts since it can mess up indicies (some formats may have the same material set twice).
2010-08-26 22:44:05 +00:00
9089b68073 The Text TexFace option was listed twice, so i removed one. 2010-08-26 20:03:21 +00:00
ac8d04092d When loading a default file, the default path could't always be initialized.
G.main->name (also bpy.data.filepath) was being set to an uninitialized string.

Not much we can do about this so set G.main->name an empty string if no file is loaded.
2010-08-26 15:18:10 +00:00
2f1faee438 bugfix [#23523] OBJ Import still fails
mistake in own recent commit, texture type wasn't being set
2010-08-26 14:44:25 +00:00
df04f94b50 bugfix [#23520] Smoke broken - UI doesn't allow particle system selection 2010-08-26 09:30:52 +00:00
77b7ba0bfb fix for dark images from the sequencer when color management is disabled.
the render engine assumes the RenderResult's rectf is not in linear color space when color management is disabled so the sequencer and opengl render need to follow this else it results in dark images.
2010-08-26 09:12:10 +00:00
Nathan Letwory
f647ba1ce5 Patch [#5429] SCons patch for linux: support more libs to be linked statically
Contributed by Rui Campos, adapted for current trunk

This was a very ancient patch on my todo list (mid-December 2006). Some things already were done, so I
added now ffmpeg and freetype support for linking statically. FFMPEG part is untested further from my part
so if you run into problems with that, please report.
2010-08-26 08:04:58 +00:00
Nathan Letwory
0b40901bab Patch [#23437] Fix for buffer overflow in filebrowser
Contributed by Alexander Kuznetsov
2010-08-26 07:26:13 +00:00
Nathan Letwory
fb7221ce21 Patch [#23390] Addition of Author field to user preferences
Contributed by Imran Syed (freakabcd)

Adds a field where the user can put in name/nickname that exporters
then can use to write authoring information, where possible.
2010-08-26 07:19:24 +00:00
Nathan Letwory
92422ba452 Patch [#23389] Add authorship information to exported COLLADA files
Contributed by Imran Syed (freakabcd).

This adds basic authoring tool and author info ("Blender User" for now).

NOTE: Linux and OSX users need now to update their OpenCOLLADA libs - Blender should now compile fine with their latest revision.

Made some changes to the original patch to ensure linking is done correctly.
Some small cleanups for scons too.
2010-08-26 06:58:32 +00:00
e7c4a0d53b rna api - replace panel properties bl_default_closed and bl_show_header with bl_options which has 2 flags: 'DEFAULT_CLOSED' and 'HIDE_HEADER'.
this matches operators which also uses bl_options like this
2010-08-26 01:05:37 +00:00
da2a2005c7 Updating stubs.c for WM_clipboard_text_get and WM_clipboard_text_set. 2010-08-26 00:37:40 +00:00
c412c5d634 patch [#23316] Fix bug that doesn't show "X:" "Y:" "Z:" for vectors with length
patch [#23317] Changed some operators' RNA to accept lengths
by Lorenzo Tozzi (oni_niubbo)

with the minor change to use XYZ subtype rather then LENGTH.
2010-08-26 00:06:10 +00:00
81212ec7ef Fix #23470: scene.objects.link() did not update viewport,
patch by Dan Eicher, thanks!
2010-08-25 16:25:55 +00:00
b42d6c0fc2 Fix #23496: some composite node inputs/buttons not working. 2010-08-25 16:11:58 +00:00
0edde88d7a Fix #23461 and #23474: revision 31517 to simplify code made undo work
incorrect, BLI_findstring doesn't work when you need to loop over the
list backwards.
2010-08-25 16:01:30 +00:00
141da38088 patch [#23359] Addenda: fixes for SCons FreeBSD 7, 8, 9 support
from Jashank Jeremy (jashank)
2010-08-25 14:33:50 +00:00
cb640d53d9 bugfix [#23497] Keymap editor search box not working 2010-08-25 14:29:14 +00:00
7d0e4ac889 simplify pass drawing, give each pass its own list, avoids some context switching.
- also fixes a problem where xray+transp+alpha1.0 objects wouldnt draw at all.
- the patch worked by adding twice but this leaked memory.
- solve by adding the xraytransp object to the xray list if the alpha is 1.0
2010-08-25 14:23:02 +00:00
967154497d patch [#23376] Fix for Bug[[#23351] X-Ray + Transparency removes X-Ray effect
from Phil Gosch (saphires)

minor edit on the patch, was adding V3D_XRAY and V3D_XRAYTRANSP lists, only add to one.
2010-08-25 12:01:15 +00:00
85dcd4c636 Fix #23433: crash with undo where a UI button was still active and accessing
data that was freed.
2010-08-25 09:33:48 +00:00
155c2d1212 Fix #23181: crash in bone roll with project snapping enabled. 2010-08-25 09:30:52 +00:00
80a01e8f2a Fix BGE bug reported by Gilberto: BL_AmartureObject.channels returns only one channel. Fix BL_ArmatureChannel.joint_rotation now that bPoseChannel structure is passed directly to the get function. 2010-08-25 09:25:11 +00:00
134e2f001c bugfix [#23495] unable to pack file, source path not found: "<builtin>" 2010-08-25 08:57:42 +00:00
81d5e4f8df bugfix [#22819] Grease Pencil: OpenGL render incorrect if view mode, OK with cursor mode
also made drawing in camera view stick to the camera border (belated durian request),
useful for animation review without worrying about screensize moving the overlay about.
2010-08-25 08:31:52 +00:00
0066e33768 Fix: Colour picker wheel wasn't gamma corrected - drawing too dark 2010-08-25 07:49:12 +00:00
75c176f56e Allow per-pixel inputs into displace node x and y scale
(previously only used constant values)
2010-08-25 07:43:38 +00:00
5bd7f0112c Fix/addition for recent RNA collections active index changes -
added scene render layers.active property and updated UI file
2010-08-25 07:03:35 +00:00
a7e86bc30d Bugfix #23439 and #23453: Auto Keying not working in newly created Scenes.
The UserPrefs Default was never getting initialised correctly, so new scenes would not get the default AutoKeying mode set correctly ("add but off"). I remembered fixing some problems like this before, but it seems that fix only fixed old files vs the user-prefs for new scenes.
2010-08-25 04:48:42 +00:00
4b40d73bfb rename most scons build targets to match cmake 2010-08-25 04:30:47 +00:00
b54d16858f bugfix [#23456] context.main.filepath lost after undo
G.sce was being restored after undo but not G.main->name
 also changed reading a new file so G.main->name gets set to the startup.blend even if its not on the disk, not ideal but would set to <memory2> otherwise.
2010-08-25 04:03:38 +00:00
Dalai Felinto
8ffc50e45c bpy.context.manager.clipboard get/set function (to get/set the Clipboard from a script)
Thanks Campbell - one day I get used to C pointer management hell :)

* when using it to get, the whole string comes in one single line with Linux EOL (\n)
* works only for text
2010-08-25 03:44:13 +00:00
c6a3fb8545 bugfix [#23469] Missing Parent Menu in Pose mode 2010-08-25 02:56:37 +00:00
a992fec4e7 bugfix
- image filepath in the image view would only be set when first loading a frame.
- check to free animated image buffers on opengl render was comparing against the wrong value.
2010-08-25 02:32:02 +00:00
a42c490a04 Applied patch #23379. Does not change existing .blend files and looks
good.
2010-08-25 02:18:37 +00:00
86ad6837c5 fix for image sequence ranges 2010-08-25 02:00:55 +00:00
Dalai Felinto
31a9a587ca renaming recast_type to type_recast so people don't miss this.
Discussed with Campbell.
2010-08-25 01:51:38 +00:00
c09ed77697 bugfix/aviodance for [#23488] bpy.types.Texture.type don´t update the parameters of texture
bpy.data.textures.new() now has a type argument since changing the type after forces the hacky use of recast_type().
2010-08-25 01:20:50 +00:00
6b45d94c99 bugfix [#23487] Lasso select does not update selected object count 2010-08-25 00:58:15 +00:00
a0c843ada2 bugfix [#23452] Camera added in python is not correctly rotated 2010-08-25 00:54:03 +00:00
ad405f0cb7 remove rna function template_triColorSet(), was only used in one place and can be done just as well with 3 function calls. 2010-08-25 00:34:40 +00:00
e7a1acb1f6 patch [#23471] x3d export broken: empty files
from Christopher Creutzig (ccreutzig)
2010-08-25 00:21:34 +00:00
Dalai Felinto
fc0af23d2d Bugfix: [#23472] mesh.uv_textures.new() creates a MeshColorLayer 2010-08-25 00:15:10 +00:00
9854546f37 update to pyrna so deleting an attribute only fails if that attribute resolves to an RNA property. 2010-08-24 23:52:20 +00:00
Nathan Letwory
446122d112 == SCons ==
Make it possible to link statically against libgettext. Set WITH_BF_GETTEXT_STATIC to True and put static lib in BF_GETTEXT_LIB_STATIC (absolute path works probably best). BF_GETTEXT_LIB will be ignored.
2010-08-24 13:08:14 +00:00
22e1ca4134 Fixing KeyingSets breakage from recent RNA renaming madness.
* 'Active' on TimeLine header needs to show choices ALL KeyingSets available (Builtins + Scene-Absolutes), not just the ones in Scene ("Absolute Paths")

* The active KeyingSet setting is needed/used-by for both of these.
2010-08-24 06:52:16 +00:00
adae794233 py/rna remove functions now all work in a similar way.
- some remove() functions took an int argument rather then the item to remove.
- disallow None argument.
- raise an error if the item isnt in the collection.
2010-08-24 06:40:28 +00:00
70e99a3476 make quicky wrapper for cmake.
works like scons where using a subset of the targets name is enough.

  make_quicky.py py
...expands into
  make  bf_python bf_python_ext blender/fast

arguments like -j4 are passed on.
2010-08-24 05:24:37 +00:00
6464718083 rename some cmake build targets 2010-08-24 04:29:23 +00:00
379fea2d0d move more active variables to be nested in collections. 2010-08-24 04:02:50 +00:00
5c604e5524 remove recently added rna function uilayout.prop_search_self() and instead allow collections to be coerced into rna structs when they define a type.
eg:
 row.prop_search_self(scene, "active", "keying_sets", text="")
...becomes
 row.prop_search(scene.keying_sets, "active", scene, "keying_sets", text="")

This is more flexible since it works for other UI functions too.
2010-08-24 03:02:27 +00:00
48e34b9956 - pythons 'del somevalue.attr' could crash when used with the rna api (reported by Luca)
eg:
    bpy.context.StringProperty(attr='myprop'); del bpy.context.myprop

- made rna StringProperty/PointerProperty & similar into class methods.

- file selector hide option was inverted
2010-08-24 02:12:09 +00:00
27edda14dd Updating stubs.c to get the Blenderplayer linking again. 2010-08-24 00:43:32 +00:00
f6c323aa42 - move more active properties into their collections:
scene.active_keying_set --> scene.keying_sets.active
  ...same for active_uv_texture. active_vertex_color, active_keyconfig, 

- move mesh.add_uv_layer() and mesh.add_vertex_color() into their collections
  also have them return the newly created layer and dont set the layer active.

  uvtex = mesh.uv_layers.new(name)
  vcol = mesh.vertex_colors.new(name)
2010-08-23 22:16:45 +00:00
1be4eda552 bugfix [#23454] vector*matrix not the same as vector*=matrix
- they now share the same code so it wont happen again.
- added id_data to properties so we can do...
  matrix = C.object.matrix_world
  obj = matrix.owner.id_data # get the original object back.
2010-08-23 22:10:13 +00:00
9b685a4b78 Fix quasy systematic crash at Blender exit: globalPool was released twice 2010-08-23 21:31:57 +00:00
972c6d86f0 BGE bug #23213: VBO preference make object with modifiers crash the BGE. Fix by disabling VBO inside the BGE, it brings no advantage anyway. 2010-08-23 20:53:02 +00:00
61dd4cd2e2 DPX files are linear now, the gamma value in the file header should
be on 1.0 then, otherwise software thinks it's linear with gamma
applied. Verified on Arri Laser for film recording.
2010-08-23 11:46:12 +00:00
e056a03fe4 - rename mesh UV and VertexColor add functions
mesh.add_vertex_color() -> vcol = mesh.vertex_colors.new(name)
  mesh.add_uv_texture() -> uvtex = mesh.uv_textures.new(name)

- pose.active_bone_group -> pose.bone_groups.active, same for UV&vcol layers, keying sets, key configs
2010-08-23 11:04:43 +00:00
9993a652b1 Patch #23460: Fix for Outliner; excludes expand button from renaming an object
Submitted by: Alexander Kuznetsov (alexk) 

Ctrl-LMB or Double-Click over the expand buttons in the Outliner would try renaming the object/item, but in 2.4x this only happened over the name.
2010-08-23 11:03:48 +00:00
1a067c668c Patch #22855: Replace existing pose in poselib: put frame+name in properties, not only frame
Submitted by: Torsten Rupp (rupp) 

Thanks Torsten for the patch. Previously, replacing poses would name them all "Pose".
2010-08-23 10:46:31 +00:00
8d1ea3a09b * Code tweak for my last commit, missed some break's.
Thanks to Dalai for pointing this out!
2010-08-23 06:56:08 +00:00
69067cc2d5 new UI rna function
layout.prop_search_self(), the same as layout.prop_search() except it uses an attribute of the collection.

A number of collections have an 'active' member which couldnt be used with prop_search() and meant we had a mix of active properties being in collections and directly added as properties.
2010-08-23 06:06:26 +00:00
b844792bd5 rename UI function
layout.prop_object() --> prop_search().

The internal name is uiItemPointerR, in python this can translate into into an Object, however this is misleading.
It can be confused with a blender Object and uiItemPointerR can also be used for strings.
2010-08-23 05:47:45 +00:00
f956e94d13 collection attributes can now be resolved with by rna
this now works...
  bpy.context.scene.path_resolve("objects.active.location")
  
Also added an option to coerce the property into a native pytype.
2010-08-23 05:36:21 +00:00
51c0e9b87c cmake patch from lux-integ. 2010-08-23 01:17:14 +00:00
11228cb403 rna: move metaball.active_element to metaball.elements.active
added rna funcs...
  elem = metaball.elements.new()
  metaball.elements.remove(elem)
2010-08-23 00:57:19 +00:00
8a320974f1 Fix for [#22741] Material preview doesn't update when "undo" is used to revert a setting.
* Buttons window listens to NC_WINDOW now.
2010-08-22 17:51:58 +00:00
a60f79daf7 - rna py-api bug fix, a NULL item in a collection was raising an error
eg: mesh.materials[0] 
 ... when this was an empty slot.

- game world mist panel wasnt updated for rna renaming.
2010-08-22 17:23:08 +00:00
e4700ba58b * Fixing some UI Increment/Decrement issues, where click on left/right triangle in the button would change a decimal which was not seen in the UI.
* Made Decimate slider a percentage slider (as the dna name says percent as well).
2010-08-22 16:44:48 +00:00
0267f6a0a3 patch [#23449] RNA renaming bugs
from Jacob F (raccoon)
2010-08-22 16:33:26 +00:00
cb678f1020 fix for msvc 2010-08-22 15:50:40 +00:00
0bab23633a remove inline loops in a few places
replace with defgroup_find_name() and BLI_findstring()
2010-08-22 14:15:28 +00:00
96429a4792 fix for error rna naming 2010-08-22 12:59:13 +00:00
2462d4976b possible fix [#23331] Hidden Bones Contribute to Axis Normal
cant redo this bug but noticed a number of places where bone selection/hidden state isn't being set properly.
2010-08-22 10:52:30 +00:00
4e4b797165 Fix #23431: crash in brush icon preview when there is no active object. 2010-08-22 10:17:31 +00:00
de35361b11 Fix python errors in particles render panel and rigid body joint constraint. 2010-08-22 09:18:26 +00:00
6e141b7331 own commit to fix a naming bug caused a new bug. 2010-08-22 07:11:40 +00:00
4ca9a7e9c1 - bugfix [#23407] vertex painting on a mesh with no face segfaults
- removed animsys update values that dont need animating.
2010-08-22 06:31:26 +00:00
c2036fda5d fix for changes in recent renaming 2010-08-22 05:45:04 +00:00
Nathan Letwory
4fe2c63e6d Skip also SVN administration files that start with _ instead of . 2010-08-22 00:07:23 +00:00
7f1a08d432 netrender:
terminate can fail if process finished after the call to poll, just pass on error then.
2010-08-21 17:07:19 +00:00
e242f66ae6 bugfix for recent renaming [#23400] Unable to import *.3ds/*.obj files with textures 2010-08-21 08:38:29 +00:00
76eeba3608 bugfix [#23419] FILE OPEN: OpenEXR default extension .EXR / .exr is filtered out 2010-08-21 08:22:47 +00:00
87eaf57593 fix for errors in constraints and modifiers made when rna renaming. 2010-08-21 07:15:11 +00:00
5c3d2b13b8 rna name which wasnt set to change but should have been: eff_group -> effector_group 2010-08-21 06:40:46 +00:00
93ffe7d7f1 rna renaming (manual edits) 2010-08-21 04:51:00 +00:00
fa9bfe2a61 == Ptex ==
* Added subface hiding and subface masking to ptex edit mode
* Added hotkeys and menu items (HKEY and alt+HKEY for hiding and unhiding, MKEY and alt+MKEY for masking and unmasking)
2010-08-21 04:45:28 +00:00
19746b8979 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r31296:31488 2010-08-21 04:06:07 +00:00
dd972441a9 == Ptex ==
Resolution editing works now with VBO enabled
2010-08-21 03:09:20 +00:00
e926f32f3b == Ptex ==
Enabled VBO drawing for ptex paint
2010-08-21 00:31:08 +00:00
a7bb0ff8f6 == Ptex ==
* added an operator for removing the active ptex layer
* added a save operator for ptex layers. Note that it doesn't save adjacency data yet (doesn't affect painting, but needed for renderer filtering)
2010-08-20 23:39:08 +00:00
c8c2393310 rna naming error in recent commits 2010-08-20 22:00:23 +00:00
dfb8455381 Fix #23332: crash with screw + bevel modifiers. Since bevel doesn't support
mapping yet there's still some weirdness with display of hiding/selection,
but there's another bug report open about that.
2010-08-20 16:02:20 +00:00
b9be82487f Fixing [#23370] problem when running game engine 2010-08-20 11:57:46 +00:00
27c5dc3449 Fix #23198: openmp building for OS X ppc gave errors about non-relocatable
expression here. Not sure why, perhaps compiler bug, but this simple change
fixes it.
2010-08-20 11:31:55 +00:00
5b499cca76 Fix #23323: rigid body constraint drawing in 3d view was showing wrong
rotation, not updated for radians/degree changes yet.
2010-08-20 11:12:13 +00:00
77fb06f630 Fix #23350: flip "both" texture preview order from material-texture to
texture-material so it corresponds better to the text below.
2010-08-20 10:17:39 +00:00
0db0b14a52 Fix #23384: python errors in input tab in user preferences. 2010-08-20 10:02:21 +00:00
4c094d700e Fix #23336: radial control crashing or not showing correct colors in modes
other than sculpt. The sculpt changes made the radial control code sculpt
mode specific, it should be usable for various purposes, so made it generic
again now.
2010-08-20 09:41:16 +00:00
07cfb4f4f5 Fix #23399: change Median Crease to Mean Crease, because it's not really
a median.
2010-08-20 09:00:21 +00:00
6da7684ca6 fixed [#23400] Unable to import *.3ds/*.obj files with textures
changed some rna names to be more consistant
- use_texture -> use_image, since it sets if 'image' is used.
- use_map_color_diff -> use_map_color_diffuse since diffuse is used elsewhere in the same type.
2010-08-20 08:11:26 +00:00
4f5f868a52 rna data path names which are more likely to break animations.
Added an operator "Update Animation Data",
access from the search menu to update drivers and fcurves.
2010-08-20 06:09:58 +00:00
4afe81c726 bugfix [#23396] proportinal editing hotkey ("o") does not work
error in recent commit
2010-08-20 05:23:12 +00:00
9d24cebdcc == Ptex ==
Fixed grid artifacts when painting on subdivided mesh
2010-08-20 02:58:58 +00:00
097a6ca926 rna remaining that negates values 2010-08-20 02:08:43 +00:00
da9ff99007 == Ptex ==
* Moved ptex loading and resolution changing into BKE ptex
* Renamed "vpaint" stuff to paint ptex and moved it into paint_ptex.c
2010-08-19 23:07:43 +00:00
bb61af7b42 == Ptex ==
Brought back ptex resolution editing

Improvements:
* For nonquads, subfaces can now be directly selected, so there's no need to display multiple resolutions for triangles
* Display and selection use the same pbvh as for painting, so for example subsurf shows correctly
2010-08-19 21:11:48 +00:00
bea1c4fb13 misc rna renaming. 2010-08-19 17:46:00 +00:00
fedde2f8e3 rna rename Spline/Curve/Text3D 2010-08-19 17:31:10 +00:00
7c98860a0d rna renaming FModifier & GameObjectSettings 2010-08-19 17:10:43 +00:00
eee445590a rna naming mainly forBoids 2010-08-19 15:49:30 +00:00
8e388a8f49 fixes for recent renaming 2010-08-19 14:43:52 +00:00
486b3cd2f5 more rna renaming for non-animated properties: mainly Texface, Particle & Pointcache changes.
Changed some names when applying.
- render was use_render, changed to show_viewport so call it show_render
- texface shadow was use_shadow_face, changed to use_shadow_cast since this only affects casting.
- transp was alpha_mode, changed to blend_type since its similar to other overlay blending where this property name is used.
2010-08-19 12:51:31 +00:00
4b2a0e65ad == Ptex ==
Missed a file
2010-08-19 12:50:40 +00:00
46e25e7c77 bugfix [#23384] Items disappear after expanding key config items
using dir() on operator properties isnt good practice, better use properties.keys() or properties.items()
2010-08-19 11:32:48 +00:00
736edd547b fix for error in recent renaming 2010-08-19 11:04:46 +00:00
b00c0526c7 missed this with recent renaming 2010-08-19 10:54:41 +00:00
4e3390437e - Properties from base classes are now registered too, this allows class mix-in's to define properties.
An example of how this is useful - an importer mixin could define the filepath properties and a generic invoke function which can run the subclasses exec for each selected file.

- Panels and Menus now skip the property check when registering.

- renamed _idproperties_ to _idprops_ in function names, function names were getting very long.
2010-08-19 10:16:30 +00:00
98140e234e - pyrna fix for reference counting when unable to register a property
- added modified 'Warp' enum to reserve this ID for durian files until the modifier is merged.
2010-08-19 05:58:22 +00:00
a8fc0361c9 == Ptex ==
Changed the internal ptex format to always use subfaces

* Changed MPtex to references MPtexSubfaces, each of which is a quad with U and V resolution and it's own ptex data pointer.
* This format is basically the same as what triangles were already using, but now quads work the same way.
* This format is also closer to the way multires grid data was already stored.
* Ptex loading (and saving, once that's implemented) requires some extra work to convert to the internal format, but everywhere else the code is much simpler.
* Fixed undoing ptex changes on a different multires level from where they were painted.
* Ptex paint now always uses an all-quad DM (generated with one level of ccgdm simple subsurf.) This is a bit ugly, just stuck on the end of calc_mesh_modifiers. This is only done if there's no multires or subsurf modifier at the end of the stack.
* Resolution editing is disabled for now, will restore it in next commit
2010-08-18 23:59:26 +00:00
22b6f0cd52 Merged GPUDrawFlags into DMDrawFlags, cleaned up DMDrawFlags 2010-08-18 22:08:45 +00:00
5e53012558 utility function for updating animation system values when RNA changes.
- any numnber of attributes are supported for renaming, eg: modifiers["Foo.Bar"].prop.bar
- the path is resolved in blender so each attribute is type checked against the naming list.
- inherited properties are supported by recursively checking parent classes names aganst the name list.
- fcurves and drivers are currently supported.
2010-08-18 18:00:52 +00:00
cdd62d6150 missed renaming this 2010-08-18 13:02:59 +00:00
399dda68d8 fix errors with recent commits. 2010-08-18 10:42:00 +00:00
c04199b3a1 rna naming mainly for Scene/IK/KeyingSet's 2010-08-18 08:58:37 +00:00
55ed0f0507 more rna renaming. 2010-08-18 08:26:18 +00:00
513a907730 rna rename Bone and Text changes 2010-08-18 07:45:32 +00:00
7da5d9faec rna renaming, still only adjusting properties that wont be animated (at least its very unlikely). 2010-08-18 07:14:10 +00:00
54e6ea70c0 rna renaming for Render* structs 2010-08-18 04:10:23 +00:00
64347d81c4 rna renaming for 'Brush' struct 2010-08-18 03:56:14 +00:00
9784a1169d rna naming: verts -> vertices 2010-08-18 03:42:26 +00:00
f32a35fd9d apply rna naming for ToolSettings 2010-08-18 03:24:52 +00:00
a34721d24b minor update rna namer and script to automatically apply updates from blender to rna_properties.txt 2010-08-18 03:05:14 +00:00
Dalai Felinto
f80f412701 Fix for [#23352] Update Problem in Texture tab
I added a notifier to update the texture panel whenever you change the active texture. This part of the code seems wip, but the notifier should be there if I'm not mistaken.

The other way around has still bugs (e.g. when you add a new texture Outliner doesn't update automatically). To be tackled later
2010-08-17 21:35:18 +00:00
ee78298dd5 Update MSVC project files 2010-08-17 20:53:07 +00:00
3bd039eff9 apply rna rename most of the show_*, names. 2010-08-17 17:03:52 +00:00
c61127d502 apply logic brick rna renaming 2010-08-17 16:27:10 +00:00
fab0f053e7 syntax highlighting for decorators, correct doc example 2010-08-17 14:56:10 +00:00
b278279c95 document rna functions that have the no_self flag set as classmethods 2010-08-17 14:32:14 +00:00
08d55cbe98 merged in applied edits from theme/space/prefs 2010-08-17 13:34:30 +00:00
7a31417f50 apply UserPrefs and Theme rna naming changes. 2010-08-17 13:14:41 +00:00
9dd43244a2 when complaining that an RNA name doesnt exist in the UI, give the struct name as well. 2010-08-17 13:12:58 +00:00
8db2707fa2 rna naming changes based on suggestions by Brecht. 2010-08-17 13:11:25 +00:00
87477c5d11 fix for error with removing MEM_guardedalloc.h, not sure why I didnt get this warning when rebuilding yesyerday. 2010-08-17 11:10:48 +00:00
a3d28f4899 2.5 Nodes:
* Range Limit function for Image Output Frame Start/End properties.
2010-08-17 09:59:55 +00:00
13da233a62 2.5 Nodes:
* Property Ranges for the Vector Blur Node were missing, added them in RNA.
2010-08-17 09:41:56 +00:00
7394e1a312 * Put "Custom Properties" panel to bottom in particle buttons as well. 2010-08-17 09:05:44 +00:00
2e2592127e 2.5 Texture Panels:
* Removed "Plugin" Texture Type from the Interface as it is not implemented in 2.5 atm.
2010-08-17 08:56:47 +00:00
e0c2791508 2.5 Modifiers:
* Don't show "Copy" Operator for Smoke Modifier in the stack.
2010-08-17 08:34:27 +00:00
b9d99b9c5b apply all rna naming changes for rna_space.c 2010-08-17 07:49:53 +00:00
40bf37e3b6 use 'vertices' rather then 'verts'. 2010-08-17 03:17:51 +00:00
5f7045f7af - rna_info.py now outputs array length with types eg. float[16].
- corrected rna property name Controller.states -> state (pointed out by Dalai).
- rna_cleaner_merge script now only merges comment and new name.
2010-08-17 02:42:30 +00:00
d03c94d8d9 Group all AUD libs, duplicate one to avoid linker error. 2010-08-17 01:50:47 +00:00
29ea841d1e 2.5 Modifier/Constraint Template
* Code removal of "compact" feature, after narrow_ui removal this was not functional anyway.
2010-08-16 23:28:20 +00:00
26809f38aa Audaspace: This should fix all missing python includes now once for all... 2010-08-16 20:05:59 +00:00
54de782faf SVN maintenance. 2010-08-16 19:51:29 +00:00
1964b2329e Scons:
* Should now build again without problems
* Fixed scons having problems to execute makes(d/r)na if build path contains spaces
2010-08-16 19:09:42 +00:00
9bb21deec6 Audaspace: Further fixes. 2010-08-16 18:50:59 +00:00
01d61095cd Audaspace: Scons fix for missing python include paths. 2010-08-16 18:29:19 +00:00
8d7204ac04 Audaspace: Buildsystem update after Ton destroyed building with scons and cmake, also including a patch by freakabcd fixing some missing python include paths. 2010-08-16 18:22:51 +00:00
db38a7f2cc Audaspace: Fix for ppl with outdated ffmpeg. 2010-08-16 18:13:26 +00:00
5ab7047f65 merged rna names with newly created dump from rna_info.py 2010-08-16 17:57:39 +00:00
0861f59ecf - finished RNA renaming for review
- fix warning
2010-08-16 17:17:33 +00:00
dc3ca6dcda More makefiles for new audaspace commit.
Jorg: you have added an include Python.h in the AUD api.h. I'm not
sure if it's smart to have this, it makes all AUD code depend on
resolving the Python path.
2010-08-16 17:07:59 +00:00
7fc5f78b15 Makefile fixes for Audaspace. This also replaces the not-used
WITH_PYTHON with DISABLE_PYTHON
2010-08-16 17:04:46 +00:00
dc4946f03c Added missing include for audio stuff.
Still not linking with Makefiles, will try and fix later.

Kent
2010-08-16 15:54:58 +00:00
1c17760105 Audaspace: Trying to fix a reported compile bug about missing UINT64_C. 2010-08-16 15:38:55 +00:00
a3837b617b Audaspace: Fixing quaternion and relativeness of 3D sounds error. 2010-08-16 14:55:45 +00:00
75bb393ecc Fix from patch tracker by saphires: [#23339] Remove const members in AUD_3Dmath.h 2010-08-16 14:31:39 +00:00
b2cb83598c Audaspace:
* Fix for uncached exception whith invalid audio file.
* Includes fix for windows.
2010-08-16 13:13:05 +00:00
77e286fee9 Audaspace: Disabling FFTW building as this stuff is unused atm anyway. 2010-08-16 12:27:51 +00:00
78d96324ae Py API Docs (GSoC): Third merging commit
* Added the alternative docs system with templating functionality
* Added aud to sdg.py
2010-08-16 12:22:19 +00:00
0be08725ad Py API (GSoC): Second merging commit
Rough summary of fixes/changes:
- Blender Py API: GameLogic -> bge.logic
- Blender Py API: Implemented missing KX_PYATTRIBUTE_TODOs and -DUMMYs.
- Fix for [#22924] KX_PolygonMaterial.diffuse does not return expected list[r,g,b]
- Py API: Renaming _owner attribute of mathutils classes to owner.
- Fix some minor errors in mathutils and blf.
- Enabling game engine autoplay again based on a patch by Dalai:
  * The biggest 3D view in the open scene is used, if there is none, blender opens the file normally and raises an error.
  * The 3D view are is made fullscreen.
  * Quad view, header, properties and toolbox panel are all hidden to get the maximum view.
  * If the game engine full screen setting is set, the game starts in fullscreen.
- Fix for ipo conversion on file transition in the game engine.
2010-08-16 12:14:09 +00:00
25fec1592e Audaspace (GSoC): First merging commit
* All audaspace changes from the GSoC branch including the aud Python module
* This commit also includes some minor changes in source/gameengine/Ketsji/KX_PythonInit.cpp:
  - Fixing names of some constants
  - removing outdated stopDSP() python function
  - Autoinclusion of bge instead of GameLogic
  - Fix for some error messages: GameLogic -> bge.logic
2010-08-16 11:41:07 +00:00
2b7a774ab0 svn merge -r 31314:31370 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-08-16 09:37:08 +00:00
a91d538f47 - commit that removed MEM_guardedalloc.h includes broke building with SSE enabled.
- all C/C++ files in blender are now utf8 compatible.
2010-08-16 09:24:18 +00:00
8177a765ab jp2.c has a non-utf8 char which stopped python from reading it, removed unused vars from CMP_chromaMatte.c 2010-08-16 06:38:30 +00:00
d1759639dc - remove unused includes IMB_*, BIF_* & MEM_*
- remove MEM_guardedalloc.h from header files (include directly)
2010-08-16 05:46:10 +00:00
e9683f4b26 Fixed bug in normalition of YCbCr color space conversion (from 0..1 to
-1..1) to fix errors in keying.  Simplified chroma key to not take
despill into consideration (handled elsewhere).  Simplified user
interface for pieces not used.
2010-08-15 22:08:49 +00:00
247a406027 Update MSVC project files 2010-08-15 21:39:48 +00:00
e2a6a0b377 change for sorting rna cleaner (was broken), diff's on rna_properties.txt will stop being so big now. 2010-08-15 16:50:58 +00:00
3a34d669e1 remove foreach_get/set for rna arrays, was crashing and are only valid for collections. 2010-08-15 16:06:26 +00:00
728b713d86 use more BLI math functions. 2010-08-15 15:14:08 +00:00
5f525bd723 speedup and cleanup of OBJ exporter 2010-08-15 15:04:51 +00:00
310cc16fd6 more rna naming edits 2010-08-15 12:32:37 +00:00
0e7d0cfe2a [#23266] bpy.ops.poselib.browse_interactive - blend_factor argument does nothing
commenting 'blend_factor' for now, its not used.

COLOR and EULER internal pyrna subtypes were causing color type variables to try update euler rotation order.
2010-08-15 12:03:49 +00:00
60a8fc3759 Fix #23303: glsl color correction not working correct for image textures. 2010-08-15 09:34:18 +00:00
dd9ce7ba04 Fix #23307: accessing FluidParticles.settings causes crash. 2010-08-15 08:53:28 +00:00
4959f424b8 [#22831] transform problem with hidden parent object
Partial fix. It now checks if selected parents are modifiable (due to the look up for base, this could get slow, but no other good way to do it).
2010-08-14 17:11:10 +00:00
bd7cfbc3cc netrender fixes:
slave use output log option correctly
use os.path.join more consistently (reported by Dalai Felinto)
unify frame range (was 4 digits on master, 6 elsewhere, now 6 everywhere).
Fix occasional broken pipe between master and slave (didn't affect result, just polluted log).
2010-08-14 16:30:41 +00:00
04f619d8af - PyLineSpit() - used to print the filename and line number for internal errors now works when executing class functions in a module.
- replaced PySys_GetObject("modules") with PyImport_GetModuleDict()
- use defaults for keymap import/export rather then setting the same value every time from the UI scripts.
2010-08-14 05:33:20 +00:00
ae6a632534 fix for error in world buttons when the world was None 2010-08-13 22:35:13 +00:00
5e4ab9fa31 fix for referencing freed memory when freeing an rna property. 2010-08-13 21:49:31 +00:00
Nathan Letwory
801ba2e345 Apply patch #23295 - Fix for SCons building on FreeBSD
Patch submitted by Jashank Jeremy. This adds support for freebsd7, freebsd8 and freebsd9. Thanks!
2010-08-13 20:54:34 +00:00
79487cca47 bugfix [#21807] Import Key Configuration problems 2010-08-13 18:48:33 +00:00
ed36b00e36 Fix #23297: python error caused empty brush panel in the image editor. 2010-08-13 17:13:07 +00:00
32792a58e3 bugfix [#22037] OBJ exporter produce wrong UV 2010-08-13 16:59:11 +00:00
e12a146a42 bugfix [#22845] Python operators dont free report list 2010-08-13 16:34:21 +00:00
96b138d98b added include for offsetof(), also use <string.h>, not "string.h" 2010-08-13 15:26:37 +00:00
8e6c654294 [#22884] slow import wavefont/.obj file
- dont run mesh update functions on zero user meshes (a bit of a cheap trick but works well), made in last commit by mistake.
- dont do a scenegraph update on linking an object, run scene.update() after linking objects.
- remove split material option since we have enough slots.
2010-08-13 15:07:57 +00:00
f35efbc95a - remove WM_operatortype_exists since its almost the same as WM_operatortype_find
- hopefully fix reported problem with MSVC.
2010-08-13 14:42:45 +00:00
ab56b4b5b9 2.5: rendering thread-safety experiment, when setting G.rt to 101, it will
render from a Main database created from the undo buffer. That means extra
memory usage and processing needed, but gives no interference with other
data.

Still won't work entirely since there are a few things that don't get
flushed always (editmode, sculpt, ..) and some places that use globals.
2010-08-13 14:29:56 +00:00
0738ae7688 2.5: more removal of G.main. 2010-08-13 14:23:44 +00:00
02314f11d8 Py API Docs:
* Moving the alternative parser
* Checking for classmethods and staticmethods of builtin modules
2010-08-13 11:49:54 +00:00
47d38dbd20 svn merge -r 31211:31313 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-08-13 10:50:29 +00:00
9ce2086506 Fix #23111: file Output node not working when inside a group. 2010-08-13 10:20:40 +00:00
9f4ec50a9a Fix #23244: image save function did not release lock on render
result, causing freeze later.
2010-08-13 09:47:14 +00:00
f662c0de05 exporters now set the filepath in the invoke() method rather then the menu drawing function. 2010-08-13 06:45:33 +00:00
bf52b68dcd minor changes to rna/python.
- raise an exception when python calls is_property_set(name) or is_property_hidden(name) and the property does not exist.
- added BLI_findstring_ptr(), which finds a named item in a listbase where that name is a pointer to a string.
- replaced inline for loops with calls to BLI_findstring_ptr() and IDP_GetPropertyFromGroup().
2010-08-13 06:30:04 +00:00
8765be1bfe == Ptex ==
For ptex-resolution editing mode, show a tiled pattern representing ptex texels.
2010-08-13 05:59:24 +00:00
e50ef6da2d bugfix [#22974] OBJ import arrives without texture 2010-08-13 03:17:10 +00:00
bfea9c12a1 == Ptex ==
Fixed anchored and drag dot stroke modes.

* Vpaint mesh restore
2010-08-13 01:59:42 +00:00
Dalai Felinto
6317a0006b Fix for [#23286] Text Editor: Cursor not changing shape when insert key is pressed. Patch by Justin Dailey (dail) 2010-08-12 20:42:06 +00:00
76e1773548 2.5 User Interface / UI Scripts
* Fixed some panel ordering after recent register changes.
* Placed "Custom Props" to the bottom again, where possible

This fixes [#23171] Material context is messed up.
2010-08-12 19:36:10 +00:00
ac1b780577 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r31183:31296 2010-08-12 18:08:22 +00:00
6faa930369 Fix #23219: smooth view rotating in top view could generate NaN-values,
causing 3d view drawing to break.
2010-08-12 17:48:25 +00:00
e21cdfa4a8 == Ptex ==
Controls for setting local ptex resolution

* Fixed various problems preventing the old paint mask mode from showing correctly, repurposed it for editing ptex resolution
* Added an operator that resizes a ptex face (uses bilinear interpolation)
* Added a new ptex panel that only shows in paint mask mode
** Two buttons, Half and Double, that cut the U/V resolutions in half or double them, for all selected faces
** For more precise control, the U and V resolutions can be individually selected for a single face
** For triangles, the resolution of individual subfaces can be set
** Lastly, the resolution of the active face is shown (one resolution for each subface)
** The UI is not good, but the underlying code is there at least.
2010-08-12 17:37:36 +00:00
7019de5e30 Fix #23098: crash in baking, it did a call to BLI_end_threads too much,
causing problems with thread safe malloc after baking once.
2010-08-12 17:13:47 +00:00
5fa95f6928 Fix #22777: duplifaces don't take deforming modifiers into account
while in edit mode.
2010-08-12 16:46:03 +00:00
9f01264610 bugfix: deleting NLA tracks with a keyframed text3d obdata would free the curve, missing type checks. 2010-08-12 16:39:23 +00:00
dc3ddd518b Fix #23269: inconsistent naming of recalculate roll in menus compared to
operator popup menu.
2010-08-12 16:15:50 +00:00
7c8f1eb04e text editor bugfix, selecting & moving the cursor on lines >256 chars long (was reallocing too little memory). 2010-08-12 15:26:23 +00:00
26f0f25c5a Fix #23188: libpng error: Image width or height is zero in IHDR.
The file thumbnail generator would write 0x0 size png's to the .thumbnails/fail
folder. However libpng throws an error when doing this. Instead we now write 1x1
png's, which nautilus seems to be doing as well. The content shouldn't matter
anyway since we won't use it.
2010-08-12 15:15:02 +00:00
47f319eb6e text editor, only draw line highlight when its in the view. 2010-08-12 14:49:08 +00:00
e81df3a6fa Fix #23238: crash rendering multiple scenes from compositor. 2010-08-12 13:58:10 +00:00
702ce76cd2 bugfix [#23227] .obj import with UV produces broken UV map in 2.53.0 (r30593)
eekadoodle face order fix was only being checked for quads, not tri's.
2010-08-12 11:33:07 +00:00
150eb890df Fix #23258: paint cursor not working in sculpt/paint modes. 2010-08-12 11:09:19 +00:00
982c4c87f7 Fix #23281: crash with multiresolution and uv project. 2010-08-12 10:35:34 +00:00
fd0a02ef1b Fix #23235: crash with editmesh instances & drawing, only the object
in object mode should make the editmesh derivedmesh.
2010-08-12 10:17:21 +00:00
e2826f379d Small UI Tweak: Added NumPad-0 as additional hotkey for Reset to Default Values. Previously, only ZeroKey (i.e. 0 on top row) was used, which was not very convenient to hit) 2010-08-12 09:50:04 +00:00
cf84992cb4 patch [#23280] Generated suffixes of strip names contain random character (revision 31262)
from Torsten Rupp (rupp)
2010-08-12 09:35:39 +00:00
6be46efe6c fix for the rna curve interpolation enum, 'ease' was using the same value as Bezier. 2010-08-12 06:28:46 +00:00
6827ac7e0d bugfix [#23263] Changing view crashes blender 2010-08-12 03:37:45 +00:00
ffd65f49da [#23275] .3DS import script fails on some models.
- fixed reading meshes without faces.

also changed...
- read verts/faces/uvs in one struct.unpack(), should be a bit faster.
- removed mesh/material splitting, very confusing/slow code and not needed since the 16 material limit was removed.
- load image paths with bpy.path.resolve_ncase() since many 3ds's files has case mismatch with file names (applies to OBJ too).
2010-08-12 02:24:12 +00:00
ac133d5d26 bugfix [#23270] Long directory name segmentation fault in File brower
file->relname was being edited when its length allocated at the size of the original name, realloc'ing failed because the old string was still used by a button.
2010-08-12 00:14:32 +00:00
aae5c9b58d - possibly bugfix /w uninitialized vars [#23270] Long directory name segmentation fault in File brower.
- in exceptional cases vertcos_to_key() could return with KeyBlock pointing to freed memory.
- invalid use of realloc() in BLI_builddir()
2010-08-11 22:36:43 +00:00
Dalai Felinto
350e6d22fd Logic UI: name mismatch on motion blur property (report and patch by Jacob F.)
I forgot to update the UI code (or to commit) when I changed the rna name to match docs. (0 to 1 values should be called factor)
2010-08-11 21:51:31 +00:00
4694914a8f bad level call fixes so the blenderplayer compiles again 2010-08-11 20:33:02 +00:00
6cae52bca2 add support for documenting class methods 2010-08-11 17:13:39 +00:00
556b615cf8 mathutils module methods only contained matrix constructors, move these to matrix class methods since this is acceptable in python. eg: dict.fromkeys() and groups them more logically.
mathutils.RotationMatrix -> mathutils.Matrix.Rotation
 mathutils.ScaleMatrix -> mathutils.Matrix.Scale
 mathutils.ShearMatrix -> mathutils.Matrix.Shear
 mathutils.TranslationMatrix -> mathutils.Matrix.Translation
 mathutils.OrthoProjectionMatrix -> mathutils.Matrix.OrthoProjection
2010-08-11 16:40:36 +00:00
ab8ccaa709 python declarative UI
- remove XML testing feature
- add 2 modules: bpyml - generic, bpyml_ui - blender spesific. nothing uses these now.

==bpyml_ui module==
defines BPyML_BaseUI and its draw() function which uses the bpyml member of the class instance self.draw_data & self.draw_header_data.

This way declarative ui is opt-in and easy to use by using BPyML_BaseUI as a mix-in class.

==bpyml module==

This module translates a python like XML representation into XML
or simple python blender/ui function calls.

    sometag(arg=10) [
        another(),
        another(key="value")
    ]

# converts into ...

    <sometag arg="10">
        <another/>
        <another key="value" />
    </sometag>
2010-08-11 15:11:30 +00:00
2a72eb8c28 Fixing make files compilation in linux 2010-08-11 14:51:52 +00:00
fd2a9a0ed0 Blender Py API: GameLogic -> bge.logic 2010-08-11 12:14:16 +00:00
d48991c6c6 Blender Py API: Implemented missing KX_PYATTRIBUTE_TODOs and -DUMMYs. 2010-08-11 10:36:16 +00:00
e588e8e741 bugfix [#23257] cmake tests for SSE, but SSE2 gets enabled
patch from Vinay Pawar, some minor changes by me.
2010-08-11 08:23:48 +00:00
d739a1788d small edits to text editor from writing a python editor extension.
- rename TextLine.line -> body, ConsoleLine.line -> body
- minor speedups when setting the body text, also re-allocate console lines if they are < half the length.
- added option to highlight current line in the text editor.
2010-08-11 05:21:43 +00:00
8c39326962 bugfix [#23247] Load Image in Textures does not use a usefull path 2010-08-11 03:31:56 +00:00
c4f1c0fda1 Fix silly bug with color ramp ui where there was an extra pixel
of background on the right side
2010-08-11 02:31:54 +00:00
4ed342567e correction for mis-named DupliObject.object_matrix -> matrix_original 2010-08-11 02:13:34 +00:00
95aa8cfa4a Update address in license block. 2010-08-10 21:22:26 +00:00
e87552d3e8 SVN maintenance. 2010-08-10 20:33:15 +00:00
7c0216c7a0 minor adjustments to python scripts to make them easier to run outside of blender. 2010-08-10 18:21:33 +00:00
76b17eaac5 repr() functions for the python api, this means it can print 'bpy.data.objects[foo].modifiers' from the objects modifiers, uses the same function thats used to make the animation path. 2010-08-10 15:46:16 +00:00
ad4fc20ec9 moved idcode functions into their own file (was added as a todo in the comments), these were mixed in with file reading code - BLO_readfile.h bot these functions are not spesific to reading. 2010-08-10 15:14:19 +00:00
f483834f13 Smoke:
- Fixing UI glitch so that range and UI range now matches
- Increased max to 400 secs (at 25 FPS) to allow more artistic freedom
2010-08-10 13:06:45 +00:00
4eadcdc389 Fix for [#22924] KX_PolygonMaterial.diffuse does not return expected list[r,g,b] 2010-08-10 10:26:25 +00:00
46cac18815 svn merge -r 31145:31210 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-08-10 09:47:57 +00:00
d9272cdc20 Py API Docs:
* Improved audaspace docs
* Added an epy parser to add epydoc documented modules to the sphinx docs
2010-08-10 07:57:02 +00:00
c0e39df6ac - Enable shape key switching in edit mode for curves, surfaces and latticies
- Disable changing of lattice size if there are shape keys
2010-08-10 06:36:42 +00:00
41531e4fb6 include rna parent class names in renaming list 2010-08-10 06:27:29 +00:00
15669532a2 header re-shuffle, some headers contained unneeded refereces to other headers, better include inline with the C files that need them 2010-08-10 05:41:51 +00:00
b525dfb298 Added additional (optional) subframe argument to RNA API function: scene.set_frame()
This is used to set the current frame to a floating point subframe state between 0.0 and 1.0
added to the integer frame. A main usage for this is retrieving geometry at sub-frame
intervals for use in multi-segment motion blur:

http://mke3.net/projects/3Delight_blender/renders/multisegment_blur.mov

Example:
scene.set_frame(5)
or
scene.set_frame(5, 0.25)
2010-08-10 03:28:06 +00:00
0d9898ac73 rewrite poll methods using a base class implementation instead of a global function (now that this is possible because of it being a class method) 2010-08-10 02:58:32 +00:00
Dalai Felinto
73f1d88be2 Bugfix for:[23234] Blender File Browser - Back Button does work with first directory entered?
For !WIN32 systems the fix was in ED_fileselect_set_params
(basically adding the first folder in the sfile->folders_prev list)

For WIN32:
I talked with Nathan (Jesterking) and he agreed that the fix in path_util.c was required too. Without that BLI_path_abs was always making WIN32 paths ending with \ to end with \\
(e.g. C:\Blender\ --> C:\Blender\\)
And this was making the folder to fail ISDIR tests.
2010-08-09 22:54:40 +00:00
9a49c92059 Fixed some python merge errors in my branch. 2010-08-09 21:54:17 +00:00
62f8fbc87f == Ptex ==
* Enabled undo for multires
* Changed texture interpolation to linear
2010-08-09 21:48:13 +00:00
825f0593e0 SVN maintenance. 2010-08-09 20:14:33 +00:00
f9acf1b455 Fix bug #22828, "Exporting as COLLADA crashes Blender". 2010-08-09 18:15:50 +00:00
488a28336b == Ptex ==
Accidentally left in a statement before declaration error
2010-08-09 15:29:33 +00:00
acfead3d15 OBJ Export:
* Removed duplicate use_animation variable, sorry!
* Added some descriptions.
2010-08-09 10:52:20 +00:00
8600f5f29a OBJ Export:
* Script was broken, fixed.
* Started some code cleanup, mainly variable names.
* Tabs > Spaces
2010-08-09 10:35:03 +00:00
a8ce419257 rna refactoring update, order by class, attribute. 2010-08-09 10:22:09 +00:00
c026b8066d fix from recent poll() edits. 2010-08-09 08:18:49 +00:00
66cbb0d973 restrict prefix checking to booleans for now 2010-08-09 07:05:37 +00:00
8d517cff33 rna refactor...
- added a script to merge 2 lists of rna renaming from/to
- merged rna_booleans.txt into rna_properties.txt
- made rna_cleaner.py sort by class.from by default.
2010-08-09 06:55:20 +00:00
079d77b9f8 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r31091:31183 2010-08-09 03:21:30 +00:00
9581cf1bdd python draw callback
- optional argument for the drawing mode crashed when not set
- added a check for the call fuinction being callable
- added a check for the argument being a typle.
2010-08-09 02:29:06 +00:00
a6f13f9d7b poll() as a python '@staticmethod' was too limiting and didnt allow useful base class poll functions in many cases.
now rna functions that dont have a 'self' are automatically assumed '@classmethods'.

de-duplicated poll functions and made some minor tweaks too.
2010-08-09 01:37:09 +00:00
7906ff6924 == Ptex ==
* Enabled drawing of ptex on a multires mesh
* Enabled ptex painting on a multires mesh

Note that the multires level doesn't effect the ptex resolution; multires has no effect on ptex other than making the display smoother.
2010-08-09 01:20:13 +00:00
7fcbbad5a4 remove py2.x compat check for class registration. 2010-08-08 23:46:49 +00:00
1bda960348 [#23228] Play rendered animation is not working
own recent commit missed renaming expand -> abspath
2010-08-08 22:49:46 +00:00
a773d8836f Bugfix: [#23149] Showing cache instead of rendering with the VSE 2010-08-08 16:47:58 +00:00
9fe2b252c4 == docs ==
Changing " **type** " into "\n\n:type: " in Mathutils, to have like "type: float" in its own line.
2010-08-08 16:22:29 +00:00
f46a649965 This fixes:
[#20884] SEQUENCER EFFECT: Animating Speed Control Opacity has no effect
[#21308] SEQUENCER EFFECT: Glow ignores Opacity setting
2010-08-08 14:21:20 +00:00
0c54337755 == Sequencer ==
This fixes: [#23184] Problems with speed control effect strip in the 
video sequence editor

Also: got rid of tstripdata caches in DNA.

Fixes some potential crashes in SEQ_IMAGE rendering (s_elem wasn't 
checked for NULL).
2010-08-08 13:55:30 +00:00
015c23b86d display addons sorted by category then name (remove old commented code which loaded the modules for real) 2010-08-08 13:45:16 +00:00
9db1f87531 remove unused includes 2010-08-08 13:11:13 +00:00
5c75d6fa98 remove unused includes 2010-08-08 13:06:31 +00:00
3e58edda3a remove unused includes 2010-08-08 13:03:07 +00:00
8c455e1da8 remove unused includes 2010-08-08 08:33:47 +00:00
f2d77e4496 remove unused includes from editors/space_* 2010-08-08 08:14:07 +00:00
9566b031a3 == docs ==
Added some docs mainly in bpy.types.UILayout.html, descriptions by Florian Meyer (testscreenings), thanks.
2010-08-07 18:34:16 +00:00
057aac553b Experemental XML UI, define panels/menus/headers which load at startup like python scripts.
- 2 panels implimented in properties_render_test.xml (Render Dimensions and Stamp)
- only enabled in debug mode.
- poll() functions are not supported yet.
- as stated above experemental, we'll see if this is at all useful, remove if not.
- XML could be replaced with JSON or YAML.
2010-08-07 16:21:15 +00:00
64b36ffbb3 svn merge -r 31060:31144 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-08-07 15:45:07 +00:00
2b3c8bdc27 Bugfix #23216: Memory leak when removing Fcurve from action
Missing call to free_fcurve()
2010-08-07 10:18:59 +00:00
c688dc05ca bugfix [#23211] "with" keyword in text editor not highlighted [Patch attatched
by Justin Dailey (dail) with minor edit
2010-08-07 02:13:39 +00:00
1f1d2e27f2 == VPaint ==
Removed a bunch of unused code
2010-08-07 00:33:53 +00:00
bf47cf4b57 == Ptex ==
Undo support
2010-08-06 23:16:31 +00:00
9f0232766c netrender: fix poll methods 2010-08-06 22:24:33 +00:00
8970423d2a == Ptex ==
* Removing some old vpaint/multires stuff that is obseleted by ptex
2010-08-06 21:21:01 +00:00
3227dbc9fb == Paint ==
* Missed a few things in my last commit
2010-08-06 20:04:37 +00:00
44b1294f24 == Paint ==
Paint overlay

* Added a new vpaint input that samples an image rather than using the
  brush color

* The image is displayed as a translucent overlay in vpaint mode
** Can be toggled on and off in the UI or with IKEY

* A color can be marked as transparent so that it will not affect the
  brush color
** There's a tolerance value to set how close colors have to be to the
   transparency color

* The image overlay can be moved with G/S/R when its enabled

* For now only enabled in vpaint mode, should be enabled for texpaint too
2010-08-06 19:51:23 +00:00
dc3c979ac8 after discussion with brecht reverting this commit, will pass on feedback to the patch author 2010-08-06 18:40:05 +00:00
8c40bda539 Fix #23210: displace modifier strength only had 2 decimal places,
was inconsistent.
2010-08-06 18:14:52 +00:00
fe0a7ea7a5 Fix #23208: REGION_DRAW_POST_PIXEL callbacks only work in 3d view and
image editor, but there's no reason they wouldn't work in all regions,
so moved the function call.
2010-08-06 18:11:49 +00:00
7b6e895c11 Fix #23209: there was no access yet to region data from RNA, there's no
generic system for it yet, but for now already return it for the 3D view
since that is the only space that uses it.
2010-08-06 17:54:02 +00:00
8c80f623f4 Committing Konrads GLSL preview of bumpmapping, now we no longer have the bizarre situation of being able to view the changes of the normal map but not of regular bump mapping 2010-08-06 17:42:47 +00:00
8d2e59e659 Fix #22961: linked duplicate meshes are all displayed in edit mode when
one of them is in edit mode. This doesn't give correct results for modifiers
though, there was already a check to disable this when are shape keys, so
now it is also disabled if either of the meshes has modifiers.
2010-08-06 17:41:45 +00:00
6d5043a529 Fix a duplicate memory free in fluid export code, as part of bug #22734. 2010-08-06 17:35:07 +00:00
89d30de7e3 Fix missing texture face panel. 2010-08-06 17:04:31 +00:00
5784b95823 Fix #23167: halo "texture" option did not take disabling of the texture
into account.
2010-08-06 16:59:19 +00:00
6405342d9e Fix #23196: running python scripts didn't do an undo push. Now it does
means you can easily undo what the script did, and keeps the undo stack
up to date. Maybe sometimes it's not necessary, but I think it's
reasonable to do this always.
2010-08-06 16:33:36 +00:00
f36b5666a7 == Ptex ==
Fixed unitialized variable reported by mariusz
2010-08-06 15:58:15 +00:00
55676442db reverted r31104 with recent commit. 2010-08-06 15:36:38 +00:00
463c3b5cf7 Fix #23204: render disconnected hair with child particles could crash. 2010-08-06 15:31:35 +00:00
acca04bf33 remove narrow ui feature
- re-arranged UI in a way that gave far too much vert scrolling.
- was added all over for simple things like making text="", layout engine should handle this.
- Ton and Brecht are ok with removing this now. Ton would like to work on the layout engine to make it better support these cases.
2010-08-06 15:17:44 +00:00
17bd603cbc == Area lamp UI ==
Fixes [#23152] Area light with noshadow is affected by rayshadow sampling setup (Kino Bug Reporting Sprint)
https://projects.blender.org/tracker/index.php?func=detail&aid=23152&group_id=9&atid=498

This moves the samples field so that it is visible in area lamps when noshadow is clicked, because acording to Brecht: "area lights also use the 
samples for sampling the form factor, but they are in the shadow panel, probably for area lights that button should be moved"

Also modified the sampling buttons so that only those depending on the sampling method are below the sampling method selector, while the general 
ones come first so it's immediate to see which ones are depending on the sampling method.

Also, formatted so that options for constant jitter appear below that button, so it's faster to setup.
Same for QMC which has the threshold field just below the QMC selector, and not wide as the column.

This still uses "if wide_ui else", in IRC there has been discussion about removing it but this will be done but who is in charge of it at due 
time.
2010-08-06 14:36:39 +00:00
964b09f26e Fix for silly mistake in overlap draw mode code, still drawing too much. 2010-08-06 14:25:35 +00:00
0a796a465e Py API: Renaming _owner attribute of mathutils classes to owner. 2010-08-06 13:36:09 +00:00
048d3dc587 fix for missing import 2010-08-06 13:06:13 +00:00
a8129f6b41 fix for fake python bge.* module, this is really nasty temp py code! (not a good example) 2010-08-06 12:46:22 +00:00
640e7b545e Py API Documentation:
* Fix some minor errors my script found in mathutils and blf.
* Fixing optional parameters with default values in aud.
2010-08-06 08:48:40 +00:00
14fe11bd81 bugfix [#19525] Curve modifier moves mesh geometry first
more of a request then a bug but shows up a strange limitation with curve deform modifier,
The mesh bounding box would set the deform axis start/end to map the deformation of the curve to. This means it ignored offset in the object location and object data location (you could use a dummy vertex to trick it).

Old files wont change, added an option (next to stretch), called 'Bounds Clamp', old files have this behavior but newly made curves have it disabled.
Double checked this gives useful results with stretch on/off and negative axis.
2010-08-06 08:27:07 +00:00
3c2f4416d5 == Ptex ==
* Small bugfix for my previous commit, broke ptex generation
2010-08-06 05:57:23 +00:00
6820d13511 Minor cleanup to lattice.c while looking into [#19525] Curve modifier moves mesh geometry first
A subtle change with the curve deform modifier is when a vgroup is used: the mesh bounds were being calculated based on the verts in the group (ignoring their weight).
Now ignore verts weighted at 0.
2010-08-06 05:19:00 +00:00
893afe0e84 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30887:31091 2010-08-06 04:55:32 +00:00
7d84048df6 == Ptex ==
Fixes for triangles

* the quad-mesh-with-triangles example file from ptex contains subfaces with
  non-matching resolutions; changed the internal MPtex format to store
  separate resolutions for each subface

* changed ptex drawing to give each subface its own texture

* various fixes to the loading and painting code to support triangles

* small change to the ptex build files, hopefully fixes and MSVC issue
2010-08-06 04:16:13 +00:00
99c64e05a6 bugfix/functionality fix [#21752] 3D cursor vanished and does not come back
Setting the 3d cursor in perspective mode would keep the cursor behind the viewport,
now check if the cursor is begind the viewport and use the orbit location to set the cursor depth rather then the existing plane.
2010-08-06 03:52:13 +00:00
267a7b76e8 adding back pep8 tag removed r31089.
I use this as a tag that the script SHOULD be pep8 compliant, warnings the pep8 checkers give can be fixed later, without this I dont get any warnings.
2010-08-06 03:11:19 +00:00
1aecb15c74 SVN maintenance. 2010-08-06 02:26:23 +00:00
30d180ff0d bugfix [#23194] export UVs miss the extension file
also made all other exporters do this.

Made some internal changes.
- moved path functions from bpy.utils to bpy.path (similar to os.path)
- added functions...
  bpy.path.ensure_ext(path, ".ext", case_sensitive=False) # simple function to ensure the extension is set.
  bpy.path.resolve_ncase(path) # useful for importing scenes made on windows where the path case doesnt match the files.
2010-08-06 01:40:54 +00:00
46d88bb803 fix for un-initialized variable in screw modifier. 2010-08-06 00:13:44 +00:00
deddb90a41 bugfix [#23179] Screw Modifier looses VGroups
- flip option now flips faces rather then flipping loop order. Now it can copy vertex data in chunks the size of the original vertex count.
- converted macro's to static func's and some general cleanup.
2010-08-05 23:40:21 +00:00
4f71435bbf some fixes for the poll() function from last commit.
Martin: forgot to mention, had to remove the use of super() in poll functions for netrender. commented with FIXME.
2010-08-05 21:58:57 +00:00
847a581e34 == Ptex ==
Another scons fix provided by mariusz
2010-08-05 20:16:38 +00:00
84c346a45d == Ptex ==
Cmake fix from mariusz.
2010-08-05 19:20:00 +00:00
163f6055d2 bugfix [#23182] Using self.report() inside poll() gives crash
poll() function is now a static method in python, this is more correct, matching C where the operator is not created to run poll.


    def poll(self, context): ...

is now...

    @staticmethod
    def poll(context): ...

Pythons way of doing static methods is a bit odd but cant be helped :|

This does make subclassing poll functions with COMPAT_ENGINES break, so had to modify quite a few scripts for this.
2010-08-05 16:05:30 +00:00
755d475f05 Audaspace Py API: Improving Docs (Crosslinks, etc). 2010-08-05 15:50:36 +00:00
5d18274cac Makefile fix: on PowerPC architecture SSE compile should not happen.
Note for the coder here, is it correct to enable SSE with a general
WITH_BF_RAYOPTIMIZATION flag? Just call it WITH_SSE? More clear :)
2010-08-05 14:04:56 +00:00
44e9f0c40d == Ptex ==
Missed a file in my last commit
2010-08-05 14:03:30 +00:00
8c75853bb6 bugfix [#23164] Copied Scene Nodes!
copying a scene would still have nodes point back to the old scene which would crash (in some cases) or break rendering.
2010-08-05 10:50:38 +00:00
5f77852a47 Do not reset bevel/taper object when they've got incorrect type - just do
noting in makebevelcurve and calc_taper functions if type is not curve.

This avoids DNA changing depended on object recalc.
2010-08-05 08:39:25 +00:00
06d2dc86a1 svn merge -r 30954:31059 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-08-05 08:23:26 +00:00
a0cece42c6 bugfix [#23148] "ImportError: __import__ not found" on changing Render FPS
The BGE was getting the namespace dict directly from __main__ which conflicts
with my recent fix to get the pickle module working which to overwrote the __main__ module on script execution.

Simple fix is to have the BGE and Blender use the same method of getting namespaces.
Renamed CreateGlobalDictionary() to bpy_namespace_dict_new() and moved into bpy_internal_import.c

pickle still wont work in the BGE since we make a copy of __main__ namespace but for speed would rather not have to replace the __main__ module many times per second.
2010-08-05 03:25:45 +00:00
db5a5c131c patch [#23185] Mark All in Text Editor always reports "Text not found" when wrap is off 2010-08-05 01:46:34 +00:00
3e8c3c8f15 == Ptex ==
Hopefully fixes building with scons
2010-08-05 01:42:34 +00:00
04e6a8c7a2 == Ptex ==
initial ptex integration

* added the ptex C++ library to extern

* wrote a small C api for the library; just the functions I've used so
  far are in the C api, but easy to add more

* added a new CustomData type (face data), stored as struct MPtex

* added RNA for CD_MPTEX

* each MPtex stores:
** the U- and V-resolution (always a power of two)
** the number of color channels (e.g. RGB or RGBA)
** the data type (can be bytes, shorts, or floats)
** the number of subfaces (for triangles now, will work also for ngons)

* for drawing ptex, one power of two texture is assigned to each face
** for quads, the texture is mapped normally across the full face
** for triangles, the face is split into four quads for drawing, and each
   subface gets an equal-sized portion of the texture
** the texture is created with the same internal format as the ptex layer

* added an operator for loading ptex files

* added an operator for creating ptex layers; takes data type, number of
  channels, and texel density as inputs. has some hackish code to allocate
  texels based on a faces catmull-clark limit surface area

* added a simple ptex UI, shows ptex layers in the mesh data panel

* modified vpaint to paint on ptex instead of mcols


partial todo list:
* VBO drawing (make sure to turn VBO off before testing ptex for now)
* ptex saving
* better texel allocation
* upsampling/downsampling faces
* UI for setting individual faces' resolutions
2010-08-05 00:53:02 +00:00
Nathan Letwory
5453e2c2fe Add BF_BUILDINFO support to Python API too.
reported by dail in IRC #blendercoders.
2010-08-04 17:23:13 +00:00
cb98fd289d == docs ==
Started some api documentation, hopefully these pages are now a bit more clear:
- http://www.blender.org/documentation/250PythonDoc/bpy.types.Panel.html
- http://www.blender.org/documentation/250PythonDoc/bpy.types.Menu.html
- http://www.blender.org/documentation/250PythonDoc/bpy.types.Header.html
2010-08-04 16:57:24 +00:00
0990e3a9a6 Fix #23003: setting particle number to 0 was not working correct,
committing patch #23119 by Jeroen Bakker to fix this, thanks!
2010-08-04 16:14:03 +00:00
27a0b9bef3 Fix #23099: cmake/mac did not copy the scripts/ directory correct for install. 2010-08-04 16:05:19 +00:00
25f1741517 Fix sculpt 3d view menu showing in two columns. 2010-08-04 15:59:15 +00:00
8b8c280755 Fix #23157: missing sculpt symmetry and appearance panels after python
registration changes.
2010-08-04 15:56:18 +00:00
0aef61caef Fix hang on opening addons tab, having a .py file without bl_addon_info
would go into eternal loop.
2010-08-04 15:52:59 +00:00
3840b0c206 Fix #22869: procedural compositing buffers from texture nodes were not restored
correct between localize/merge, bugfix for #21727 only did it one way.
2010-08-04 15:51:52 +00:00
4906290f0d rewrote wm.context_set_id() to automatuically match the pointer type with the bpy.data.* iterator by inspecting rna. 2010-08-04 13:59:25 +00:00
3d0cf3acf1 updated brush options from last commit so they are filtered correctly (sculpt brushes only available in sculpt mode) 2010-08-04 12:51:32 +00:00
1f77f7b05a Brush/Paint internal changes
- remove brush array for each Paint struct, just use a single brush pointer.
- removed rna function based template filtering.
- filter brushes using a flag on the brush and the pointer poll function.
- set the brushes using a new operator WM_OT_context_set_id().

TODO
- remake startup.blend, currently brush groupings are lost.
- rewrite WM_OT_context_set_id() to use rna introspection.
2010-08-04 12:18:07 +00:00
2f8f86e4f6 fix path to release/python.zip for scons and cmake
I hope this doesn't break anything
2010-08-04 11:07:14 +00:00
247fbfaf03 Fix crash accessing particle edit values outside of particle edit mode. 2010-08-04 09:20:59 +00:00
7a55728b40 Fix crash in point cache baking due to my recent changes. 2010-08-04 08:58:38 +00:00
7a5d6a5eb1 2.5: Hide options panel for halo materials, none of the settings here
should have an effect on halo's currently, and they share some of the
same flag bits as other halo options, which makes it even more confusing.
2010-08-04 08:49:56 +00:00
d50cc7826f == Makefiles ==
* add support for LCMS (disabled by default, set WITH_LCMS to true to enable it)
 * fixed typo that prevented TIFF support to be properly enabled
 * enable ray optimization by default (scons and cmake already did this)
 * fixed building with libsndfile on darwin (disabled by default)
 * quicktime: use audaspace headers from $(NAN_AUDASPACE)/include instead of intern
 * gameengine: add -DWITH_FFMPEG to compiler flags when building with ffmpeg support
2010-08-04 08:42:18 +00:00
708ef64663 include cleanup, no functional changes
- removed DNA_brush_types.h from DNA_scene_types.h (and some other similar cases)
- removed DNA_wave_types.h (never used)
- removed Main.wave
2010-08-04 04:01:27 +00:00
8902a4b2f1 [#23162] GCC 4.2 and prior support broken in CMakeLists.txt as of r30985
revert warning changes from r30985, broke with older GCC
2010-08-04 00:18:05 +00:00
331d37e04c Fix unbalanced {}. 2010-08-04 00:16:18 +00:00
4937076518 bugfix [#23173] Blender crashes on selecting display color corrected image in image editor
notes,
- Use our own callback which doesnt exit() blender.
- Hard coded 'MONOSCNR.ICM' is bad, should this be a user preference or stored per image?
- imb->crect was being set to imb->rect in some cases, disable this because its possible 'rect' gets reallocated and crect becomes freed memory.
- when crect cant be created draw pink checkers, so users dont get confused if color correction isnt working. (previously would draw the uncorrected image, if it didnt crash)
2010-08-03 23:59:42 +00:00
Nathan Letwory
a72047b197 Increase min/max range for Value input nodes. More useful when using Math nodes (inverting sign was impossible using value input in CMP before). 2010-08-03 23:57:39 +00:00
Nathan Letwory
ef3824b713 Add button to set Compression level when output to PNG. Without this there'd be absolute no compression at all = large PNGs. 2010-08-03 23:55:34 +00:00
44d51f3f64 Missed keyIndex data existment check when the whole nurb is deleting 2010-08-03 23:04:45 +00:00
33a6ba99ca exit image externally wasnt checking if the image existed first. 2010-08-03 23:02:18 +00:00
e2f5f4fa53 removing the f so that glsl shaders work on older cards 2010-08-03 22:44:15 +00:00
596952a5e0 bugfix [#23174] Text Editor: View Top of File and View Bottom of File not working [Patch to fix attached]
also moved these into the View menu (removed Edit->View)
2010-08-03 22:41:01 +00:00
0c659da03b bugfix [#23158] Translate operator leaks memory if nothing selected 2010-08-03 22:36:59 +00:00
81b8bdc353 fix for typo in commit #31007: filtering in file browser for png and tga files wouldn't work anymore. 2010-08-03 19:03:51 +00:00
63802982de Export OBJ script:
*Removing some ancient lines.
2010-08-03 17:20:18 +00:00
239477dcf7 Audaspace Py API: Updated some outdated docs. 2010-08-03 12:49:42 +00:00
50c3da699d minor cleanup, minimal functional change.
replace some long duplicated, ifdef'd if statements for image extension.
- new function: BLI_testextensie_array(), can take an array of extensions.
- define extension arrays: imb_ext_image, imb_ext_movie, imb_ext_sound - we could have more of these.
- removed amiga extensions iff and lbm
2010-08-03 12:34:42 +00:00
957976882d build options to disable image formats WITH_CINEON, WITH_HDR.
- updated cmake, make & scons.
- renamed CMake build options WITH_TIFF -> WITH_IMAGE_TIFF, same for DDS, OPENJPEG etc.
2010-08-03 11:25:34 +00:00
279030a232 Audaspace:
* Py API: Renamed Sound to Factory to match the C++ classes and make it possible to add Readers when necessary to the API.
* Py API docs: Added the filter example.
* Fixed a crash for sounds without stop callback.
2010-08-03 08:45:03 +00:00
16782bb6c2 Audaspace Py API: Getting rid of unnecessary forward declarations. 2010-08-03 08:30:49 +00:00
940d1dcd0a remove commented scons lines from cmake files, fixed use of pointer poll function for ID drobdowns (currently unused) 2010-08-03 08:12:55 +00:00
ce44d63ae1 Audaspace:
* Added an error string for audaspace exceptions.
* Fixed PyAPI exceptions.
* Minor bugfixes.
* Added a name parameter to the Jack device, so that one can define an own name via Python.
2010-08-03 08:07:21 +00:00
109a3b3198 pointer poll functions for object's, mainly for modifiers, constraints.
Lattice modifier only shows lattices types, Shrink wrap only meshes etc.
2010-08-03 06:51:36 +00:00
6d0769bc42 forgot to update addons with recent update to bpy.types 2010-08-03 06:36:07 +00:00
e0f0a425fa rna pointer poll function, not used yet. 2010-08-03 05:14:59 +00:00
233df907d0 py/rna update, reload works again.
- fix for reload (f8) crashing, missing incref when creating the script namespace.
- store the module names rather then the modules for reloading incase the modules get out of date.
2010-08-03 03:53:36 +00:00
c475f38239 bugfix for python console getting its namespace cleared after the first command was executed. 2010-08-03 02:10:28 +00:00
66f32bd7f9 set origin was setting surfaces as 2D curves, added dupli-group support using the dupli's offset value. 2010-08-03 00:56:43 +00:00
8baeb4393c Audaspace Py API:
* Devices are now created with the constructor instead of class methods.
2010-08-02 22:53:40 +00:00
15e4753396 [#23156] Cannot Edit Custom Properties
Missing import after moving operators around.
2010-08-02 22:52:55 +00:00
86fc34b924 Audaspace:
* Added a stopCallback function that is called when the end of a sound is reached.
* Fixed the scrubbing not working.
* Minor SoundActuator cleanup.
2010-08-02 18:22:34 +00:00
f811ab1356 added capabilty to limit color spill by an input mask 2010-08-02 17:34:44 +00:00
c418119b49 bugfix [#23151] UV Project not update in realtime until you save the file and reopen it. 2010-08-02 16:57:46 +00:00
d298a5d0a8 patch [#23054] Fix for bug #22725 "text editor doent scroll with cursor"
fixes [#22725] text editor doent scroll with cursor
from Justin Dailey (dail)
2010-08-02 16:41:14 +00:00
ec2c52c9c8 SCons
- remove scons option WITH_BF_FHS, its not needed anymore.
- comment WITH_BF_DOCS, was using epydocs which we dont use now.
- blenderlite target was broken, always using openmp.
- building without python wasnt working.

- fixed some warnings.
2010-08-02 16:27:41 +00:00
7bd687ea58 cmake
- more strict warnings for gcc/unix, still <50 for a clean build.
- install files to /usr/local/share/blender/2.53 rather then /usr/local/share/blender/.blender
2010-08-02 16:23:58 +00:00
d348765181 use try/except when unloading modules too. 2010-08-02 14:25:23 +00:00
bd0e14d90b give better feedback when a class doesnt register correctly. 2010-08-02 13:41:59 +00:00
3d545d1db9 Based on recent feedback, the copyright.txt file contained
statements that were restricting the GNU GPL, which is not
allowed for binaries. Now the text restricts to summarizing
the freedom of GPL and a disclaimer.
2010-08-02 13:31:43 +00:00
486e00a3ed py addons: much faster scanning of addons by only parsing the dictionary rather then the entire file. 2010-08-02 12:35:32 +00:00
200fb4a286 fix for parsing scripts 2010-08-02 12:07:50 +00:00
9e16c687a9 update userpref's addon code to support new register/unregister, now the modules are parsed rather then being imported since it become quite tricky to import once without registering the classes, then again in a way that registered the existing modules classes without a reload() - which had problems too. 2010-08-02 07:50:58 +00:00
0c62d107e0 minor changes to registration before committing addons fixes 2010-08-02 06:56:31 +00:00
55e64f0ba4 minor changes to Martni's commit 30961
- removed the immediate option from C/api and now store in python only, when python loads modules it sets it to False.
- unloading a module would clear the entire TypeMap for all modules, only remove the module types that is being unloaded.
- added some checks for bad class registering, report errors rather then crashing.
2010-08-02 04:20:41 +00:00
3d81ee3e4a fix for sequencer panel registration, a parent class panel was being registered as well as its children which crashed running the poll() function.
theres not much point in having 3 classes here, just use 1.
2010-08-02 04:10:16 +00:00
a08648ab53 remove register/unregister from templates 2010-08-02 03:30:07 +00:00
d4f91858f2 == VPaint ==
Bugfix: force update multires vpaint before saving the file
2010-08-02 03:03:54 +00:00
5b345524ea RNA Types metaclass registration
See mailing list posts for details [1][2][3]

Addons still need to be fixed; Campbell said he'd do it today.

See any of the py files (outside netrender) in this commit for how to do it (it's rather simple).

[1] http://lists.blender.org/pipermail/bf-committers/2010-February/026328.html
[2] http://lists.blender.org/pipermail/bf-committers/2010-August/028311.html
[3] http://lists.blender.org/pipermail/bf-committers/2010-August/028321.html
2010-08-02 02:55:12 +00:00
9f575e5446 == povray ==
Removing Povray from here, it is now an addon in bf-extensions (after discussion with Campbell).
This will let us manage better the transition to PovRay3.7 and later versions.
2010-08-02 01:58:32 +00:00
174145be60 == addons ==
Loads addons from usual .blender/scripts/addons but also from .blender/scripts/addons_contrib if this folder exists

To get  latest contrib scripts, we can checkout
https://svn.blender.org/svnroot/bf-extensions/contrib/py/scripts/addons/
into release/scripts/addons_contrib/
2010-08-02 01:37:52 +00:00
c04850ec06 python mathutils change
quat * quat was returning the dot product (a float), rather then the cross product.
 Use BLI_math's mul_qt_qtqt() function.
2010-08-02 00:08:01 +00:00
bce3a49e2e svn merge -r 30913:30953 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-08-01 23:19:30 +00:00
2e7c8bbeec fix for py console autocomp. need to swap out __main__ module there too. 2010-08-01 22:54:39 +00:00
52ef66da4d Audaspace:
* Created awesome filter classes :)
* Made all filter effects use the filter classes instead of having the same implementation everywhere.
* Added a Python API for LTI IIR filters.
* Fixed a warning in creator.c that was introduced when adding game autoplay.
2010-08-01 22:33:50 +00:00
c92e3225f3 patch [#23144] bpy.Image.gl_load() -- fix
from Dan Eicher (dna)
- image.gl_load() was using GL_UNSIGNED_INT rather then GL_UNSIGNED_BYTE channel type.
- changed image.gl_load() to use the image clamp settings (patch had this as an extra argument).
2010-08-01 22:20:45 +00:00
20e6b5280d SVN maintenance. 2010-08-01 21:29:50 +00:00
9b006d6d00 Fix preview render crash after recent G.main changes. 2010-08-01 20:36:24 +00:00
0753766a57 Fix for the fix. 2010-08-01 16:38:30 +00:00
4e031236d5 Compile fix for recent changes. Function needed 1 more argument.
Chingiz can you please check?
2010-08-01 16:35:27 +00:00
4da55eed8f OSX/Cocoa : fix the Cmd modifier stuck after cancelling the quit dialog 2010-08-01 16:25:00 +00:00
7e55571175 bugfix [#23134] uv project modifier not working.
own recent commit introduced this bug. would like to have this working correctly but for now commenting.
2010-08-01 15:42:22 +00:00
a3e58a951a set blender binary name for python 2010-08-01 15:15:57 +00:00
0be152501e Smoke:
- Bugfix for not cleared smoke sim when doing alt-a and waiting for 2 sim cycles to complete
2010-08-01 15:00:53 +00:00
7524967238 - new __main__ module wasnt de-referenced after adding into sys.modules
- made int buttons round floats better 10.6 --> 11
2010-08-01 14:23:06 +00:00
4a63d2a2d2 Fix for crash due to last commit. 2010-08-01 14:08:33 +00:00
e33d7d37c9 bugfix [#23129] alt-p in the texteditor doesn't work anymore
recent commit cleared the __main__ namespace once a script finished which meant classes defined there would loose their namespace.
now inset a new __main__ module into sys.modules for every script that runs, any classes that are registered will hold a reference to that modules namespace.
2010-08-01 13:57:04 +00:00
f3cca3e192 2.5: more G.main changes. 2010-08-01 12:57:01 +00:00
5fa7d1c1b4 2.5: code changes to reduce the usage of G.main and pass it along
or get it from the context instead.
2010-08-01 12:47:49 +00:00
c34f831757 Smoke:
- Bugfix for display problems in shaded view: Reverting to wire display mode for domain.
2010-08-01 12:16:32 +00:00
8fd1d8f02a mistake in recent commit allowd bpy.types.Scene() which would then crash blender (thanks for spotting Luca). 2010-08-01 11:20:51 +00:00
d25747ee75 bugfix's
[#23108] bpy.ops.object.origin_set(type='GEOMETRY_ORIGIN') dosen't work in console
  [#23115] Crash when moving armature origin

- setting the armature in editmode would leave editdata in some cases.
- transforming selected linked objects to account for the movement of the obdata was only done for meshes, now do for curves and text3d.
- added utility functions for getting curve & mesh bounds.
- text3d moving center wasn't working at all.
- changed drawobject.c to use BLI_math funcs in more places.
- remove some unused code from operator object.origin_set.
2010-08-01 11:00:36 +00:00
e56913fe39 fix for un-initialized layer (only bits between 1 and 20 were initialized) 2010-08-01 10:36:02 +00:00
ea6730cdd1 - font object x/yoffset was making text box's wrap text incorrectly.
- draw text boxes with the offset applied.
(abologies for making font.c even more confusing)
2010-08-01 09:56:00 +00:00
327b4d588b Separate proportional edit setting between edit and object mode. They are now used and toggled independently. 2010-07-31 19:26:21 +00:00
a5e4fc782a netrender: fix reload
Note: this is tested and work with metaclass registering. If it doesn't work with registering lists (as currently in svn), I can still commit the metaclass method...
2010-07-31 19:23:22 +00:00
9d68a27365 == rigify ==
- small fix, doing F8 complains during the unregister phase

- hey Campbell, also netrender complains during F8, prints lots of 
  "AttributeError: 'Scene' object has no attribute 'network_render'"
  I tried to track this down with no luck, bpy.types.Scene doesn't seem
  to have a network_render method anymore? I'll investigate later if it 
  won't be fixed already :)
2010-07-31 18:06:55 +00:00
cc673669c7 use more BLI math funcs (no functional changes) 2010-07-31 10:58:10 +00:00
5c9cf81cf9 Audaspace:
* Fixed some compiler warnings
* Implemented device looping
* Note: Scrubbing in the sequencer is broken atm
2010-07-31 10:03:08 +00:00
667a2cafbe recent commit to make color balance work like the sequencer, I forgot that the gamma was inverted. fixed. 2010-07-31 10:03:08 +00:00
1280b6f902 - add back prefix for ID lists (LF) for linked and fake user for search fields.
- remove debug print for left/right name flipping & commented test from the sequencer.
2010-07-31 01:06:08 +00:00
ddcfb4601a == Multires ==
* Separate mdisp re-allocation from customdata realloc
2010-07-31 00:15:17 +00:00
f220e4a3c3 == VPaint/Multires ==
Added a function to apply multires colors as regular mcols; used when applying multires modifier and rendering
2010-07-30 23:45:40 +00:00
a53a928773 Change compositor color balance to match the sequencer exactly, for this to work linear/srgb conversions need to be done which that nice since it has to convert from/to the color spaces each time, after quite a lot of testing I think its the best way to go.
The problem was that typical lift values  (0.5 - 1.5, in our case ) would over saturate shadows so that even minor adjustments would give unusable results.
tweaking the input lift to compensate for this helped with the shadows but would loose the color adjustments for the mid-tones.
2010-07-30 23:32:49 +00:00
Nathan Letwory
11b140fb3a patch [#23110] isolate render type UI labelling + operator to clear all hide render flags in scene by Peter Schulman 2010-07-30 23:25:26 +00:00
61c9e46aad svn merge -r 30718:30912 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-07-30 22:34:27 +00:00
c59b930d13 Audaspace: Refactored the complete 3D Device code giving a nicer API. 2010-07-30 22:20:08 +00:00
c227e25b28 == VPaint ==
* Added an operator to convert vcols to texture; works for multires vcols too
* Still has some seam issues, need to do more intelligent bleeding
* Current UI is a menu item in the Image menu (Vertex Colors to Texture)
2010-07-30 22:10:34 +00:00
e4a16c8010 Properties Window:
* Deleted space_buttons.py file as I doubt that these buttons will be done in python. File was not used anyway.
* Deleted some ifdef checks from space_buttons.c for the py header.
2010-07-30 16:15:56 +00:00
0972d05b4b Logic Editor:
*Removed the old header menu code, replacing with Python menus.
2010-07-30 15:44:26 +00:00
94e47bfc4c == Paint ==
* Refactored paint mask undo to support any customdata type
* Automatically make layer multires when adding vcols to a multires mesh in vpaint mode
* Fixed vcol multires toggle so that it updates the dm

TODO:
* Add paint undo for vcol layers
2010-07-30 15:20:07 +00:00
8fea1c327c Ui Scripts:
* Made a "View" Menu in the Text Editor, these settings don't belong into a "Text" Menu. 
* Added "Properties" Operator into the VSE "View" menu.
2010-07-30 14:56:17 +00:00
2f4a78ec21 Fix #23086: crash reading 1bit tiff files. 2010-07-30 13:31:22 +00:00
ae662b8235 bugfix [#23105] Scene strips renders out darker (no gamma corection?) 2010-07-30 11:55:41 +00:00
5251a9b3bf 2.5: remove vertex normal flip option, this is more harmful than helpful
in many cases, and also gave incorrect rim lighting.
2010-07-30 11:50:00 +00:00
9e45fa7f2f bugfix [#23106] Blender crashes (segfault) when scene strip file is missing 2010-07-30 11:40:23 +00:00
385c8af449 bugfix [#23104] Crash when console: <SpaceView3D object>.local_view. autocomplete 2010-07-30 11:19:41 +00:00
3b9b4f7605 Fix #23103:
* missing glsl update when changing color management setting
* disable glsl lamps only when disabling them for render
2010-07-30 10:44:00 +00:00
fdae90fb1f Revert [#23093] Curve -> CurveMapping in brush. Don't use camel case for
UI text, and this makes it inconsistent with the property name too, Curve
is just fine...
2010-07-30 09:32:21 +00:00
477c924f50 bugfix [#20038] Vertex path selection not working in Vertex/Face mode
- disable this tool if edge mode isnt enabled using its poll function. Also fixed a bug where it would de-select the last active edge.
- made view3d grid drawing use GL_LINES's for less context switching.
2010-07-30 08:43:22 +00:00
648f40f409 bugfix [#22660] Text Boxes properties are not animateable.
suggestion [#23093] Curve -> CurveMapping in brush...
2010-07-30 06:48:18 +00:00
449f8ce4fe bugfix [#22859] Multi-user images cant be made into single user in texure panel.
turns out this isnt exactly a bug since support was never written for this but may as well support it.
now rna/py can do image.copy() too.
2010-07-30 06:09:23 +00:00
9688dd9a2a svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30846:30887 2010-07-30 05:51:32 +00:00
1b7d264f1e Fixing a typo in the BGE Python API:
BL_ArmatureChannel.rotaion_euler -> BL_ArmatureChannel.rotation_euler

Making the docs match the code:
  BL_ArmatureChannel.rotation -> BL_ArmatureChannel.rotation_quaternion
  BL_ArmatureChannel.euler_rotation -> BL_ArmatureChannel.rotation_euler
2010-07-30 04:57:27 +00:00
49b9e09a05 == VPaint ==
* Switched vpaint to use paint/pbvh undo system

TODO:
* Undo for adding/removing color layers
2010-07-30 01:27:38 +00:00
520d12e13e 3 duplicate functions: bone_flip_name() object_flip_name() flip_side_name()
removed object_flip_name() & bone_flip_name(), use flip_side_name()
2010-07-30 01:13:07 +00:00
390a6c691c == Paint/PBVH ==
Undo refactor

* Renamed sculpt_undo.c to pbvh_undo.c
* Modified node push take a flag (PBVHUndoFlag) that controls what data gets pushed
* Changed sculpt code to only push coords, changed masking to only push paint masks
* Added undo code to save/restore mcols too, but not used yet
* Fixed a weight paint crash
2010-07-30 00:55:37 +00:00
9a9e04edfb patch [#23060] ColorRamp python access functions
from Dan Eicher (dna)
 elem = color_ramp.elements.new(position=0.3)
 color_ramp.elements.remove(elem)

- Modified the patch to make generic functions for adding and removing (inline code was in 3 different places)
2010-07-30 00:20:05 +00:00
eec1318996 Preview commit in sculpt brushes broke resetting curves in other areas (rgb curves etc).
Fixed by adding a 'slope' parameter to curvemap_reset() to mirror curve presets around Y axis.

Also removed curve preset with 'random' icon, wasn't doing what it looked like it should, 
this was intended only for hue correct node anyway.
2010-07-30 00:06:59 +00:00
b1f53d98e4 patch [#23088] 2.5 Text Editor: Preserve indentation with spaces
from Fabian Fricke (frigi)
2010-07-29 22:34:46 +00:00
c1fd3ae7a0 Fix make/darwin build, was not updated for moved bin/ directory. 2010-07-29 13:04:20 +00:00
ab7c879963 Fix for error while weight painting:
RNA_boolean_get: OperatorStrokeElement.flip not found.

flip was renamed to pen_flip but not updated everywhere.
2010-07-29 12:16:15 +00:00
365a4b4dcc bugfix [#21093] Alt-arrowkey 'Swap Strips' confused 2010-07-29 11:47:00 +00:00
3f06cab75e Fix #23073: glsl and 3d view background color didn't take color managment into
account yet, should now be consistent with render.
2010-07-29 10:09:20 +00:00
25762f4945 Fix weird colours in areas of high transmission when camera inside a volume. 2010-07-29 07:22:43 +00:00
e33460150b Added back modal keymap items for view manipulation mode switching in
zoom/pan, so they can be added in customisation. Not sure why these were removed.
2010-07-29 07:21:57 +00:00
407f394952 == Sculpt ==
* Changed rotation brush to not scale down the rotation angle; easier to control this way (and works the same as anchored brush rotation.)

Note: rotate brush seems to work much better with USE_ORIGINAL_NORMAL, this should probably be made the default, if not forced on.
2010-07-29 05:16:42 +00:00
6806c315b2 == VPaint ==
More fixes and cleanups

* Removed unused parameters in vpaint
* Use more of paint stroke in vpaint
* Partial fix of anchored brush in vpaint, doesn't restore colors yet though
* Fixed smooth stroke

TODO:
* Color restore for vpaint
2010-07-29 03:20:37 +00:00
4e405a9f3e Fixed some potential memory corruption 2010-07-29 02:29:32 +00:00
0dbb7dd293 == VPaint ==
* Bugfix: don't start until mouse goes over the mesh
2010-07-29 01:16:40 +00:00
1cacc6f9ea == Paint ==
* Moved a bunch more sculpt stroke stuff into paint stroke
* Made all the sculpt stroke UI visible for vpaint too
* Most of sculpt's stroke features work in vpaint now

TODO:
* Drag dot for vpaint
* Anchored for vpaint
* Smooth stroke broken
2010-07-29 00:47:10 +00:00
88cbcb0206 bugfix [#23062] Resolve conflict button in text editor dissappers in Blener 2.5 beta release
also uncommented console some code for testing by mistake & remove warning.
2010-07-29 00:44:53 +00:00
7ef2e33ea3 bugfix [#23075] Point clouds invisible with VBOs 2010-07-29 00:06:22 +00:00
fe77e6d919 minor changes to r30843
- the __main__ modules namespace was initialized cleanly but left dirty, now restore when finished executing a script incase a module uses this later.
- made the interactive console use the __main__ modules namespace.
2010-07-28 23:24:17 +00:00
ef18a05d51 == Multires ==
* Fixed a memory leak when deleting multires data
2010-07-28 20:27:56 +00:00
68b4ecd28e svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30795:30846 2010-07-28 20:23:10 +00:00
3f7c3fad07 == Paint ==
* More texture refactoring; brush texture symmetry now works properly in sculpt mode again, also works in vpaint now.

TODO:
* Fixed texture mode doesn't work in vpaint
* Anchored brush needs updating
2010-07-28 19:43:48 +00:00
6b8f3f475b == PBVH ==
* Some interface cleanups, should be no functional changes
2010-07-28 17:26:56 +00:00
Nathan Letwory
3e387b8c42 * for win64 fftw3 support is already enabled by default, doing so also for win32. 2010-07-28 17:08:24 +00:00
c8b6533dda Fix #23071: making vertex parent not correct with subsurf modifier, now it
also uses the final derivedmesh for the coordinates in edit mode.
2010-07-28 16:47:12 +00:00
7e2b206ca5 == PBVH ==
Note to testers: if you couldn't see colors or masks before, this should fix it.

* Updated non-VBO drawing for colors; paintmasks and vertex colors should now work OK with VBO disabled (or for OOM condition)
2010-07-28 16:46:49 +00:00
2c8d7921bc bugfix [#23065] Pickle can not dump instances of user defined classes
- __import__("__main__").__dict__ will now always match the current scripts namespace. (which is what pickle expects).
- __builtins__ as a module rather then a dict from PyEval_GetBuiltins() acts slightly differently, use the module to follow python.
2010-07-28 16:26:42 +00:00
b94be08123 == VPaint ==
* Fixed going into edit mode losing multires color data
2010-07-28 14:42:03 +00:00
b51350fb4f Fix #22959: uv selection mode was not initialized correctly for new scenes. 2010-07-28 13:19:02 +00:00
114b86f6d7 Fix #22996: switching scenes did not exit editmode, meaning changes
made were not visible in the other scene in object mode.
2010-07-28 13:15:29 +00:00
3ff872bf59 Audaspace Refactor:
* Removed whole Capabilities System
* Fixed Py API error strings
* Improved some Py API properties
* Minor other changes
2010-07-28 12:43:59 +00:00
d44a2b5b1b fix for running rna subclasses own __init__ functions.
- exceptions in the __init__ functions were not being checked for and segfaulting
- avoid creating a new BPy_StructRNA instance per function call, use the existing one if the type matches.
2010-07-28 12:11:40 +00:00
2a3c1a4cf3 Fix #22964: incorrect derivatives for global texture coordinates, showed up as
artifacts in bump mapping.
2010-07-28 11:10:56 +00:00
7296600434 Audaspace: HUGE Refactor.
Some points of the refactor not sorted by importance:

* Fixed immutability of readers and factories (there are exceptions...)
* Fixed copy constructors and = operators
* Removed messaging system
* Removed reader types
* Added const where possible
* Using initalisers when possible
* Avoided use of pointers when possible
* Removed AUD_NEW and AUD_DELETE macros
* Removed useless NULL pointer checks
* Fixed exception catching
* Fixed some yet unknown bugs
* Lots of other stuff
2010-07-28 09:36:03 +00:00
4ddcb65399 Assorted small volume render related fixes. 2010-07-28 08:06:46 +00:00
79dd2cc8e9 Fix [#22197] empty XYZ text size changing according to distance from origin
Partial revert for commit r 27946

Empty/axis xyz text is now purely aligned to object space. Previous 3d view matrix manipulation
stuff that I added wasn't correct, and causing more problems than it solved. Perhaps someone 
can tweak this later to be fixed size/screen aligned, but for now this is less annoying.
2010-07-28 08:05:39 +00:00
70bca0405d sequencer ui
- opacity seq button was messed up.
- only show opengl preview option in preview window.
2010-07-28 07:52:05 +00:00
fa9550bba0 fix for un-initialized memory use with thumb's & minor internal improvement for bpy.utils.clean_name() 2010-07-28 07:37:24 +00:00
3c0ed589c1 * moved Threaded Sculpt, Fast Navigate, and Show Brush back to Sculpt Options panel until they are properly moved in memory to the corresponding places they were in the UI.
Fast Navigate apparently needs to be made an option of the multires modifier

Threaded Sculpt and Show Brush need to be made UserPrefs

Some of these options were removed form UserPref panel without placing them anywhere else in the interface so this commit at least puts them somewhere so they can be used.
2010-07-28 07:19:54 +00:00
f2e1136ca3 bugfix [#23053] Blender crashes when adding image as a strip
buffer overrun when copying image name.
2010-07-28 07:00:40 +00:00
aacaea02f5 == VPaint ==
* Blur brush works for multires now
2010-07-28 06:38:24 +00:00
c32720a0c0 bugfix [#23055] transforms with proportional fall off affect hidden vertices in certain situations
faces were not being checked if they were hidden before adding their internal edges for connected proportional editing.
2010-07-28 05:47:46 +00:00
a9c8547550 == VPaint ==
* Implemented blur brush for non-multires models
2010-07-28 05:41:32 +00:00
e33fd64f24 == VPaint ==
* Removed some code cruft and out of date comments
2010-07-28 02:06:42 +00:00
8de0a82727 == Paint ==
* Replaced sd->flags with paint->flags
2010-07-28 00:39:12 +00:00
430ae43ccf == Paint ==
* Changed SCULPT_USE_OPENMP to PAINT_USE_OPENMP
2010-07-28 00:34:04 +00:00
c352b580ac == VPaint ==
VPaint symmetry enabled. Made a lot of changes here; hopefully nothings broken as a result.

* Sculpt had a ton of symmetry code; moved most of it into the PaintStroke system
** Added a couple new PaintStroke callbacks, one for updating symmetry data in case a paint mode has local data that needs to be flipped or rotated (sculpt does), and one for applying a brush action (one brush action per symmetry "dab")
* Ported sculpt's symmetry code to the new system
* Added symmetry support to vpaint

TODO:
* Symmetry for brush textures still needs to be updated
2010-07-27 23:46:09 +00:00
01105dd937 == VPaint ==
Masking for vpaint

* Enabled combined display of masks and vertex colors
* Added mask painting to vpaint
* VPaint factors masks into strength
* Added functions in BKE paint to find the combined mask value for an element

TODO:
* Because vpaint doesn't have proper undo yet, and mask painting is shared between sculpt and vpaint, undoing the effects of the mask brush is disabled for now.
2010-07-27 19:56:16 +00:00
51e8926cb9 bugfix [#23052] New Bracket Highlighting Patch Causes Seg Fault [Patch to fix attached]
by Justin Dailey (dail) for bracket highlight patch from yesterday.
2010-07-27 19:22:23 +00:00
112711e6a4 Smoke:
- Bugfix for using uninitalised velocity in case of PART_PHYS_NO (reported by MiikaH)
2010-07-27 16:18:12 +00:00
88dcfbaee9 == Sculpt ==
Added a brush reset operator so that a user won't need to reload the default blend to get back default brush settings

* New brush.reset operator, resets a brush based on the currently-selected tool
* Added UI button in the tools panel

TODO:
* Only resets sculpt brushes right now, other paint modes should be added
* Sculpt polish tool exists only as a Brush, not as a tool; I'd suggest we make it a tool so it can be reset to defaults too
2010-07-27 16:09:02 +00:00
78e5a29990 Smoke:
- Fix typo in tooltip
- Add timeframe independand timesteps
2010-07-27 15:33:21 +00:00
614192cce3 Fluid: Fix empty named fluid particle system; Smoke: Fix typo 2010-07-27 15:04:50 +00:00
967d25ac1c Smoke Patch + additions: a) Applying patch #22765 by Miika Hämäläinen (domain border collision settings, vorticity settings, time scale, non absolute density, smooth high res emitter, initial velocity multiplier, high res strength available to be set to 0), b) Additions by me: --Initial velocity is now per flow object, not per domain; --Using boundingbox as standard display mode for domains (was wire before); --When adding a flow object, an initial nice SmokeParticle system is added too with nice initial settings (life=1, no_render, unborn, etc) fitting smoke simulation; --Adaptive timesteps introduced to the smoke sim (depending on the magnitude of the velocity) because it was quite unstable when used for fire simulations, still needs to be tested and will also slow down some simulations. 2010-07-27 14:53:20 +00:00
ecb58629f2 Fix #22875: image browser crashes on true colour jpg. The skip_input_data
callback was not correct, modified now to based on jpeg_mem_src as included
with libjpeg.
2010-07-27 14:40:48 +00:00
1448d188a1 Fix #22950: width of a layout object does not propagate to its sub-layout
objects (row, column, box, etc.). Patch by Tamito Kajiyama, thanks!
2010-07-27 12:11:25 +00:00
31362c865f Fix #22673: crash with solidify + subsurf + array modifier in edit mode. 2010-07-27 12:01:40 +00:00
c0ba0c1171 Fix #22986: glsl didn't take object hiding into account yet for lamps. 2010-07-27 11:10:34 +00:00
5e5b0cbb26 Game engine was not updated yet to disable vertex/normal state on exit as
other parts of Blender expect, might have caused issues with VBO's in some
cases.
2010-07-27 11:07:34 +00:00
0280736181 Fix part of bug #23042: unnecessary texture preview re-render on changing
brush properties.
2010-07-27 10:31:22 +00:00
5fe3909a7b Fix #23044: sculpted mesh not updated in object mode with VBO's enabled. 2010-07-27 10:27:08 +00:00
83ff2857ae Fix #23014: 3d view pivot point default was bounding box instead of
median point as in 2.4x.
2010-07-27 10:06:43 +00:00
98cb08d94f bugfix [#23046] export obj "selection only" issue 2010-07-27 10:00:34 +00:00
99a161fa0c == VPaint ==
* Changed add vcol operator to not duplicate previous layer's data
* Updated pbvh mesh drawing to work with layers (still requiring VBO though)
2010-07-27 07:50:03 +00:00
7262769ec3 == VPaint ==
* Merged the two alpha brushes into one, added RNA/UI for switching between adding and erasing alpha
2010-07-27 07:17:01 +00:00
3440d5217f svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30764:30795 2010-07-27 06:48:09 +00:00
c3ef9c16b9 Bugfix #23000: AnimData on Meshes not saved (and loaded)
* Animation data for meshes wasn't getting saved at all (the linked actions were, but that doesn't really count)
* Lib-linked actions from other files may not load correctly too
2010-07-27 06:06:36 +00:00
a3166d2997 Dammit to whoever removed the X-Ray button AGAIN from the armature buttons. I remember specifically restoring this a few months ago, but it seems to have gone missing again.
Despite the overlap with Object draw settings, this is a one-off setting that you'll end up turning on/off quickly while working with armatures and is also more conveniently set while chosing armature drawtypes (than jumping back to object buttons).

Grr...!
2010-07-27 05:53:29 +00:00
d29f55bc40 == Sculpt ==
* Removed the mask brush, replaced with a BRUSH_MASK flag
* Added RNA/UI for that (UI is a checkbox in the brush panel)

TODO:
* For now, all brushes behave the same in mask mode; some brushes should have special behavior (e.g. smooth should smooth the mask)
2010-07-27 05:53:28 +00:00
6db17c557f == VPaint ==
* Enabled fast navigate option for vpaint
* Moved fast navigate UI button back to options panel for now
* Fixed vpaint partial redraw, wasn't actually passing the redraw planes in
2010-07-27 05:38:26 +00:00
da060dad99 bugfix [#21754] Smooth view + repeeted view orbit results in slow orbiting.
- original quat was not assigned yet so never gave a good result.
- quat angle comparison as vector is wrong.
2010-07-27 04:56:24 +00:00
db6f1f52a7 bugfix [#22027] Group disappears in render after adding a group instance 2010-07-27 04:02:09 +00:00
12a695ae47 bugfix [#21407] 3DS Import do not show import options (resizing\transform fix) 2010-07-27 02:41:30 +00:00
160b1d815d [#22274] Special chars = 2 characters
workaround, just remove utf from number strings until we have proper UTF editing.
2010-07-27 01:20:24 +00:00
dcb644af0d bugfix [#22605] Context auto-compleate fails first time 2010-07-27 00:38:00 +00:00
c2d656d3d2 == Sculpt ==
* Added back mask brush, accidentally removed during last merge
* Removed an incorrect assert in paint mask
2010-07-27 00:09:25 +00:00
4635e0f3e2 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30722:30764 2010-07-27 00:03:02 +00:00
432ec37965 Jason, from your merge 30325.
move toolsettings out of the userprefs into the sculpt menu, if these should be userprefs then they should be moved into that struct.
2010-07-26 23:49:23 +00:00
63791e03d6 * Partially revert r30763, where PROP_IMAGEPATH was added.
* Brush icon property back to not using image browser until a better solution is decided on.
2010-07-26 23:40:46 +00:00
00149cfb9d patch [#23041] CMake WITH_PYTHON_INSTALL option
from Dan Eicher (dna)

--- snip ---
Adds the option to not copy python into the .blender/python directory.

Also fixes the problem of deleting the blender installed python where the blender runtime only looks for the copied python and not the system one but not entirely sure why, something to do with CMake hardcoding the PYTHONPATH and PYTHONHOME vars I suppose.

This patch only applies to the 'UNIX AND NOT APPLE' platforms but, then again, those are the only ones anyone really
cares about...or at least the only ones where using the system python is really viable.
2010-07-26 23:16:21 +00:00
ac1aea71b1 bugfix [#22832] ctrl+shift+a on linked in group which is in a group makes outline green 2010-07-26 22:33:58 +00:00
b30e2a57fc == node editor ==
- added backdrop commands in the view menu
  I couldnt finf them in the menus and also liquidape asked for them

- added cut links command in menu, since also this one wasnt thast obvious (now it's ctrl-drag)

- micro patch reviewed by jesterKing
2010-07-26 21:37:55 +00:00
7dd0395181 patch [#22901] pixel- and aspectratio corrected camera representation in 3dview
from Ralf Hölzemer (cheleb) with my own edits to make the selected camera more clear in the camera view, this also works around the problem where you cant see the camera to select it with passepartout close to 1.0.

--- snip ---
Attached patch changes the camera representation to draw pixel- and aspectratio corrected in 3dview. It does also fix
a little issue where the camera name would jump when the title save would be (de)activated in the camera view.
2010-07-26 21:35:24 +00:00
2ab8a2a516 * Fix: CPU usage was going way up because some WM_main_add_notifier functions that I thought were commented out somehow became active again. 2010-07-26 20:42:50 +00:00
833d42d92e * removing code meant for debugging 2010-07-26 20:17:21 +00:00
3683d9d1b8 Saved a call to 'brush_alpha' 2010-07-26 20:05:08 +00:00
f30c12bcab patch [#23039] cmake install taget fix for brush icons on linux
from Ralf Hölzemer (cheleb)
2010-07-26 19:59:33 +00:00
aac34d8e94 patch from Roelf De Kock (kiemdoder), removes redundant values from the snapquats[] array. 2010-07-26 19:57:44 +00:00
982615ff1b bugfix [#22985] dope sheet crashes Blender 2.5 Beta 2010-07-26 19:48:35 +00:00
b69158dc02 Fix: Overlay should draw areas that will be affected transparently and areas that will not be effected opaquely. 2010-07-26 19:29:21 +00:00
cc9dbc7ac2 Curve shape keys:
- Fixed incorrect working of "from mix" insert keyblock operator property
  shapekey coordinated are applying on curve's data when creating displist,
  so curve's nurbs can't be used as unchanged data -- use basis keyblock data instead

- Fixed tilt damaging when loading editcurve -- made a typo in array indexes
2010-07-26 19:07:33 +00:00
c1649dcf10 bugfix [#23038] View rotation snap has left and right view names swapped arround.
also noticed some spelling errors.
2010-07-26 19:00:15 +00:00
230d66796b [#23033] Unindent after continue statement in Text Space [Patch to fix attached]
from Justin Dailey (dail) 

from the tracker
--- snip ---
In the text space after the python commands return, break, pass or yeild and hitting "Enter" for a new line,
it unindents 1 tab. However it does not do this for the continue statement.
2010-07-26 18:50:38 +00:00
c0898bbf48 [#23032] Bracket Highlighting in Text Space Fix [Patch to fix attached]
from Justin Dailey (dail)

 from the tracker
 --- snip ---

In the text editor doing something like this:

print(":(")

When it goes to match the closing bracket, it will highlight the one in the string, not the first one. Also doing:

array["[index"]

will cause it to match the second [ with the closing one.

I have attached a patch to fix this issue. (See attached image to see correct highlighting)
It also works with triple quotes strings(ie """...""" or '''...''')

*Note* However, originally bracket highlighting always on even if syntax highlighting is off. The patch makes it so
it only highlights brackets when syntax highlighting is on (this is a side effect of doing the code this way, if it
was done any other way ALOT of code would have been needed to check for strings,triple quoted strings, escaped quotes,
and comments forwards and backwards). When highlighting matching brackets, the code checks the line's format string
to see if the char is in a string or comment to skip it. If syntax highlighting is turned off, the format string is
null and cannot be used,thus no bracket highlighting.
2010-07-26 18:38:12 +00:00
8fb499c34f * Added a new RNA subtype, PROP_IMAGEPATH. It's the same as PROP_FILEPATH, but for images only.
* Changed UI code to display image browser for PROP_IMAGEPATH
* Set the icon_filepath RNA property for brushes to use PROP_IMAGEPATH
* Changed preview icon drawing to ignore unset icons
* Fixed const warnings in brush RNA
2010-07-26 18:37:47 +00:00
10b124ae39 [#23035] Obj export crash
check for an active object before switching modes.
2010-07-26 18:32:22 +00:00
ba49943d7e [#23008] Wrong numbers in Edge Length
- tooltips didnt say how to get global values.
- save a vector addition per vertex when drawing stats by using mul_mat3_m4_v3() instead of mul_m4_v3()
2010-07-26 18:20:20 +00:00
f7b046c108 Hopefully fix building with MSVC 2008 from rev 30746.
SCA_PythonController.cpp(303) : error C2133: 'mod_path' : unknown size
2010-07-26 17:46:10 +00:00
3d0afea083 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30668:30722 2010-07-26 16:48:02 +00:00
62fe4bcd77 Fix #22749: texture view mapping for spot lamps wasn't doing perspective
division, giving incorrect projection.
2010-07-26 14:46:16 +00:00
bed40ed8e3 move directories:
dlltool --> build_files/make/dlltool
 bin --> release/bin
 
Since dlltool is only used make + mingw and ./bin is misleading because it would seem the blender binary would be copied there, but its just used for home directory files.

updated scons/cmake/make
2010-07-26 11:47:33 +00:00
3e3f874a65 Audaspace Py API:
* Renamed get_c_device() to device()
* Made the threshold parameter of Sound.square() optional
* Added a sample rate parameter for Sound.sine()
* Example updates
2010-07-26 11:17:43 +00:00
bf1bee5d03 [#22846] GCC 4.4.1 support in Windows
In this commit i've fixed crash when opening file browser. This crash was caused
by different _stat structures size in storage.c and filelist.c (because of force
setting __MSVCRT_VERSION__ in storage.c), other errors from report
were fixed earlier.

I've used _stati64 strcutrure and functions and tested on official
mingw-gcc 3.4.5, official mingw-gcc 4.4.0, tdm-mingw-gcc 4.4.1,
cross mingw-gcc 4.4.4 and cross mingw-gcc 4.2.1-sjlj -- everything was
ok in  this configurations (except openexr and opencollada libraries which
requires sjlj compiler, so i was unable to build blender with that
libraries by official mingw-gcc 4.4.0)
2010-07-26 10:41:26 +00:00
8eb31b6bcb Fix for [#22073] Particle Emit From Volume Button No Different Than Emit From Faces Button 2010-07-26 10:31:51 +00:00
Nathan Letwory
5bac485dd4 Add missing banner for installer. 2010-07-26 10:30:59 +00:00
409b79c5c4 Audaspace Py API:
* Renaming superpose and double to mix and join
* Making most of the static methods of Sound normal ones
* Minor documentation fixes
2010-07-26 09:29:36 +00:00
15e94823dd in debug mode report the time to load addon modules. 2010-07-26 09:09:53 +00:00
ed5d0bb62f patch from Mitchell Stokes with some changes.
BGE Py Controllers were effectively doing this...
 "a.b.c" --> "__import__('a').b.c()"

This was annoying because it meant module 'a' would need to import 'b' explicitly.

Now use import like this.
 "a.b.c" --> "__import__("a.b").c()"

Note that this has the slight disadvantage that these need to be modules, where as before they could be collections of functions in a class instance for eg. So its possible this breaks existing files but dont think anyone used this since its a fairly obscure use case.
2010-07-26 08:49:16 +00:00
e62c0ea835 replace macros VECCOPY and QUATCOPY with inline math functions no functional changes
also replace mul_m4_v3() with mul_v3_m4v3() in a few places.
2010-07-26 06:34:56 +00:00
304043ee5f [#22617] Using register/unregister alone crashes blender
wasnt crashing anymore but made exception message clearer.
2010-07-26 05:55:56 +00:00
bdc929ea6b == Sculpt/Paint ==
* Fixed a crash on loading files with a paint mode active
* Fixed a type warning
2010-07-26 05:44:34 +00:00
ba3192bf71 bugfix [#22962] Crash when starting the render in the attached file (Kino Bug Reporting Sprint :)
NULL checks on tex->pd are elsewhere in the code so this should be ok.
2010-07-26 05:31:31 +00:00
9941b7d52d * was suggested I combine all the direction modes into a single enumeration by using RNA_def_property_enum_funcs 2010-07-26 05:25:09 +00:00
e977f80a8f bugfix [#23018] Can't run 2.53 build
for some reason mbstowcs() was converting '/home/matrem/Téléchargements/' to '/home/matrem/T', where blenders utf8towchar() worked correctly, tried changing my locale but didnt help so using blenders utf8towchar() function.
2010-07-26 04:21:44 +00:00
ec19c7dffc == Sculpt ==
Fixed brush icons loading slowly

* Changed brush icon property from an enum to a flag that toggles whether a custom file is used for the brush icon
* Changed get_brush_icon to only handle loading external icons, built-ins are handled through the regular icon system
* Modified preview icon drawing to allow built-in icons
* When not using a custom icon, a default icon is selected based on the current tool

TODO:
* Allowing preview to show built-in icons makes the brush texture selector look ugly when nothing is selected. As discussed on IRC though, the nothing-selected state needs to be clarified anyway; I'll address this in another commit
* Use image browser when selecting a custom icon
* Selecting the default icon is ugly (uses the active object's mode), this can be fixed by making brushes know which paint mode they are part of
2010-07-26 04:00:09 +00:00
6561da03ae * Accessing Brush size, alpha, size pressure, alpha pressure, and unprojected radius need to use the appropriate brush_* function. 2010-07-26 03:43:17 +00:00
5b1231849c * Factored out some duplicated code from rna_brush into paint.c, added a new function that checks whether a brush is used by that paint struct
* Fixed an improperly initialized variable in BKE_previewing_free_id
* Added an RNA access function to get the icon associated with a value
2010-07-26 02:35:43 +00:00
a27de17349 [#22918] Animations not being deleted from .blend files
fake user button wasnt available so there was no way to have an action removed for the user.
2010-07-26 02:31:45 +00:00
150236448d bugfix [#22994] Crash when loading this file 2010-07-26 02:08:47 +00:00
ad99c6644a bugfix [#21388] Auto depth + Z Transparency artifacts 2010-07-26 01:59:50 +00:00
e4a7087982 bugfix [#22836] Alt+MMB view alignment don't respect all axes directions
also moved rotation_between_quats_to_quat into BLI_math from python mathutils.
2010-07-26 00:11:14 +00:00
109618749f Removing unnecessary _ functions from device as the c_device is a device too and doesn't have it's own api. 2010-07-25 22:35:48 +00:00
cc061d075f == Sculpt ==
More icon work

* Added icon defines for all the brushes
* Load all the brush icons after loading regular Blender icons
* Added the brush icons to their respective tool enums in RNA
* Fixed a couple unused-variable warnings
2010-07-25 22:23:40 +00:00
ba30ac1230 == Sculpt ==
Minor sculpt cleanups

* Moved the (previously extern) declarations of the brush icon data to ED_datafiles.h
* Set sculpt tool RNA to alphabetical order, quite a long list now
2010-07-25 22:05:52 +00:00
98e26b1b08 == Sequencer ==
Some cleanup on effects:

- converted interface to float cfra
- made effects return their own ImBufs, which has the following 
  advantages:
  * code in sequencer.c is a lot more readable.
  * multicam saves one memcpy of an image
  * prepares things for GPU-rendering
2010-07-25 17:19:55 +00:00
6ec87e6095 Fix for [#22128] particle sizes and physics
* size wasn't updated at all for particles with keyed or no physics
2010-07-25 14:40:18 +00:00
1e7f96343e Fix for [#22167] Hair lattice only works with dynamic hair
* Doing hair effectors, guides & lattices all in one loop didn't work properly
2010-07-25 13:18:15 +00:00
147a5229a1 svn merge -r 30566:30717 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-07-25 13:12:58 +00:00
d0e3d4a482 Audaspace Py API documentation fixes. 2010-07-25 12:25:44 +00:00
cc0f3146e7 Shapekeys for curves/surfeces
Fix #21498: Edit curve Shape key /252_r 27318

Added full support of shape keys for curves and nurbs surfaces including
topology changing in edit mode, undo stuff, updating relative keys when
working under basis and so on.
2010-07-25 11:57:36 +00:00
ef74fc391d == VPaint ==
Enabled textures for vpaint brushes. Not all of the texture options work yet.
2010-07-25 05:01:55 +00:00
61a09d96b1 py api mathutils.Quaternion()
- getting axis, angle wasnt calling read callbacks so it didnt work with RNA.
- made setting axis and angle attributes possible.
2010-07-25 02:56:39 +00:00
885bbe6999 from Luca's recent commit noticed there are more typo's: lenght -> length 2010-07-25 01:45:53 +00:00
9d97123f90 Remove WM_FAST_DRAW ifdef which I added while Ton was on holiday.
Only drawing the areas which need redrawing work so no reason to revert this.
2010-07-25 01:39:47 +00:00
164e552e81 == VPaint ==
* Updated non VP_AREA painting for both regular and multires meshes. Still looks bad because of drawing issues though.
2010-07-25 01:36:47 +00:00
2b5d510e94 == VPaint ==
* Re-enabled all the vpaint tools except for blur
* Also added alpha blending modes
* Removed dead code

TODO:
* Combine the add and erase alpha modes, only separate for now to match the IMB_BLEND modes more easily
2010-07-25 00:19:18 +00:00
26aad77d26 == VPaint ==
Removed non-PBVH vpaint.
2010-07-24 21:23:15 +00:00
cf2b3db4d9 == Multires ==
* Renamed Sculpt Level to Edit Level (works now for vpaint too)
2010-07-24 20:49:10 +00:00
22c4ad34fe == Multires/VPaint ==
Enable multires painting.

* Added operator/RNA/UI to toggle multires for vertex colors. (UI is not great right now, just a button in mesh data properties.)
* Added layer names to GridKey. These are used (in combination with CD type) to identify the source layer from CustomData.
* Changed default mcol to white with alpha=0
* Renamed CD_FACEGRID to CD_GRIDS, removed CD_DISP
* Added a new CustomDataMultires type (CD_GRIDS), which stores layered data like CustomData. However, it only stores float types, and is very simplified.
* Reworked PaintMask to use the new CD multires stuff, also used for vertex colors.
* Started changing vpaint to internally use floats.
* Layering support for multires vpaint. Layer alpha is used to combine the output.

TODO:
* Doesn't handle layer renaming yet (so if you rename your mcol layer, it'll disassociate from the multires data)
* Layers for non-multires vpaint
* Default mcol layer in the startup blend has full alpha, so for testing layers you have to delete the default mcol layer and add new ones.
* Multires level in vpaint is controlled by the Preview level
2010-07-24 20:33:35 +00:00
6a4d370a16 Bugfix: the sequencer core rewrite missed preprocessing of images with
wrong resolution on input, which can create image distortion and crashes 
on render.

Thanks to Juan Pablo Bouza for spotting this one!
2010-07-24 19:42:29 +00:00
a36f3c5cbf == PBVH ==
* Moved glShadeModel from pbvh.c to gpu_buffers.c, also fixes bad include of glew
2010-07-24 18:32:57 +00:00
a2a1c111a5 == Multires ==
Some refactoring to support vpaint

* For multires_mark_as_modified, make sure the DM is a CCGDM first
* Make the gridkey a parameter to various functions, rather than using the same one everywhere.
** Most important, when doing a multires update, enforces use of the same gridkey as the DM its updating from.
2010-07-24 18:05:33 +00:00
ac212f1cd0 == VPaint ==
Added partial redraw to vpaint.

Updated the PBVH docs in the wiki to include some info about partial redraw:
http://wiki.blender.org/index.php/Dev:2.5/Source/Modeling/PBVH#Partial_Redraw

* Moved some sculpt-pbvh functions to paint_util for general use
** sculpt_get_redraw_rect -> paint_get_redraw_rect
** sculpt_get_redraw_planes -> paint_get_redraw_planes
** Some of the code from sculpt_flush_update is now paint_tag_partial_redraw
* Added some debugging code to show the area being redraw during partial redraw
** Draws a box around the area being updated
** Set rt to 444 to see it
2010-07-24 17:18:42 +00:00
0eca3db6c5 - typo: from "lenght" to "length" in rna
fixes [#22997] typo in autocomplete/python api name in bpy.context.active_object.data.draw_edge_lenght not length
  https://projects.blender.org/tracker/index.php?func=detail&aid=22997&group_id=9&atid=498
  no addons are affected by this change

- also found a typo in particles toolbar
2010-07-24 16:35:58 +00:00
eabbbcdff9 Fixing a crash when using either BL_ArmatureBone.parent and BL_ArmatureBone.children. 2010-07-24 09:26:05 +00:00
1e816635b0 Bugfix: Small change to hash algorithm hinted by James Ruan on mailing list to
make hash distribution a little bit better.
2010-07-24 08:47:14 +00:00
0246caf513 * Fix: the radius of the brush is bigger than the texture square in the UV image editor so it is always drawing a square at stronger intensity. 2010-07-24 07:18:31 +00:00
068b0c3f6f Fix [#22965] Icons for new brushes won't get sticky
Somehow the code I submitted to fix this problem was commented out.  I think I just submitted the wrong code.
2010-07-24 05:53:30 +00:00
f24bcc689c bugfix [#22988] Duplicating Lights by Frame Causes Hangup 2010-07-24 02:51:51 +00:00
780f4c1c78 Fixed an annoying problem where sometimes tooltips would get left
hanging on screen, making you have to mouse over them to clear them.

I hope this was the only issue causing this, if anyone sees hanging tooltips 
after this commit, please report it!
2010-07-24 02:49:58 +00:00
1fdb880cf4 bugfix [#22990] Crash rendering joined curves
- dont render invalid material indicies (like mesh faces)
- clamp the material index values when joining, TODO: merge material lists properly.
2010-07-24 02:27:43 +00:00
f148aa696e bugfix [#22769] Undo Looses Active Camera
The problem was that the v3d could have a different camera to the scene even when locked.
VIEW3D_OT_viewnumpad was ignoring v3d->scenelock option and allowing an invalid state.
2010-07-24 01:32:03 +00:00
a732678217 [#22873] Snap to increment isn't working that expected when Units set to Metric or Imperial - minor
- pick the closest unit that matches the existing step size.
- set the distance subtype on some camera flags.
- commented mesh flag 'ME_ISDONE' its nolonger used.
2010-07-24 00:24:58 +00:00
bd90c33bbf bugfix [#22941] set object center/origin on a linked duplicate causes linked copied to become unselectable in viewport 2010-07-23 23:48:21 +00:00
ca227a94ac == Sculpt ==
Fix for some brushes exploding

* Replaced partial initialization of pbvh iterator with memset (this was how it was originally, probably changed after merging from trunk some time I guess)
2010-07-23 21:08:27 +00:00
ba76552213 bugfix [#19223] FBX export doesn't do cameras correctly 2010-07-23 20:57:52 +00:00
aa6935890a svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30563:30668 2010-07-23 20:06:59 +00:00
9c3376a030 bugfix [#22716] Game engine corrupts rig ID-Properties. 2010-07-23 19:47:25 +00:00
c36fcf5116 SVN maintenance. 2010-07-23 19:43:13 +00:00
7a6b98b5c2 == Multires ==
Small bug fixes

* When dropping down to multires level zero in sculpt mode, update PBVH from the CDDM
* When checking for modifiers in sculpt, ignore multires on level zero
2010-07-23 19:08:05 +00:00
7275ba728d fix for another case where object editmode data could be lost when switching scenes. 2010-07-23 18:42:15 +00:00
318c975dcb bugfix [#22954] Crash going edit mode on an object linked in another scene (Kino Bug Reporting Sprint :) 2010-07-23 18:30:14 +00:00
8365f14019 Audaspace Python API: Better docs. 2010-07-23 18:00:37 +00:00
4e62175989 bugfix [#22974] OBJ import arrives without texture 2010-07-23 17:51:39 +00:00
d5346883dc Bugfix: [#21479] Insert Keyframe in some Sequence strip properties does
nothing

This fixes Crop and Transform the same hacky way like Color Balance.

Will do a real fix, if I find a clever way. (Those structures must 
provide a Sequence struct backpointer!!)

Cheers,
Peter
2010-07-23 17:48:16 +00:00
72689deb63 Fix #21077: multiple python headers in an area header not working correct,
each needs a unique ui block name.
2010-07-23 17:26:00 +00:00
b3dca80c5b Sequencer UI bugfix: translate / crop also work on effect output, UI was
missing
2010-07-23 17:09:33 +00:00
65fcb0edcf == Sequencer ==
This patch cleans up the sequencer core by replacing the caching system
(TStripElems) with a hash based system, which is:

a) a lot faster
b) a lot more readable
c) a lot more memory conserving

The new caching system is also a good building ground for

a) sub frame precision rendering (even on scene strips)
b) multi core rendering (threaded rendering is still disabled, but can 
   be extended now to arbitrary core numbers)

I tested the code on an extensive editing session today and had no 
crashes during 4 hours of editing. So I consider it very stable.
2010-07-23 16:57:11 +00:00
bf5f5bd3bd Fix #20863: when loading a file without UI, with multiple windows open,
the other windows would not preserve the screens correctly, code for
reading 2.4x files was running when it didn't need to.
2010-07-23 16:50:25 +00:00
4c4ec56f49 Fix for [#22644] hair particles bug 2, patch by Lukas Toenne 2010-07-23 16:48:45 +00:00
f8f3244629 Attempt to fix compile for GCC 4.4. 2010-07-23 15:36:27 +00:00
4a659017b9 Changed the fix for string literal warnings to dynamic casts, patch for one function sent to python devs the other won't be patched according to the devs in IRC. 2010-07-23 15:13:06 +00:00
a62e340573 Fix #21028: operator redo creates hundreds of images when texture paint is on.
Now operator redo will look for an undo push with the same name in both the
paint/sculpt and global undo stack.
2010-07-23 14:46:31 +00:00
f5dd835850 Fix wrong default color for new images in some cases. 2010-07-23 14:35:23 +00:00
d3c9b72ba6 Restore image auto refresh for image editor, code was not updated for 2.5 yet. 2010-07-23 14:34:43 +00:00
57af5a8592 Another attempt to solve draw methods on Intel. Windows and mac now use
overlap, while unixes use overlap flip. Also implemented recent fix for
redrawing after backbuffer selection differently to avoid unneeded
redraws.
2010-07-23 13:42:58 +00:00
9914aa38ed Fix #22978: wrong property min/max on icosphere subdivisions. 2010-07-23 10:42:59 +00:00
444d06af32 2.5: change a user preferences settings from .enabled to .active, it's nicer
if the button is grayed out but still editable.
2010-07-23 09:33:58 +00:00
9a0e0027f8 fix for error in select hierarchy if no children exist. 2010-07-23 05:49:12 +00:00
37bb55b7bc fix bad memory range of text3d charinfo being used. 2010-07-23 05:31:11 +00:00
bd30c4da8a [#22876] Add new scene, stacker ".00" bug
fix for r30441, (reverted for the beta), splitIDname wasnt returning the correct string length.
2010-07-23 04:41:27 +00:00
026ac24922 [#22488] Reloading scripts causes crash
F8 key enabled again, useful for script UI development.

- keying set freeing wasnt freeing from all scenes and the builtin list.
- PointerProperty() cant refer to a removed python srna type (fixed in rigify and netrender).
- Added a check for freeing a type used by a PointerProperty but its very slow, makes reloading take ~10sec. Only enabled this in debug mode for now.

Netrender register() function isnt re-registering the property, probably because the module is cached by python and not re-run.
2010-07-23 01:43:30 +00:00
43d5357a2e * Fix [#22970] 2.5B 30369M crash opening 2.5A2 eye.blend 2010-07-22 23:06:09 +00:00
5b4a3b56d2 minor warning fix
brush_alpha was being converted to an int not a float, if this is intentional it should be delared 'const int', but looks like it wasnt.
2010-07-22 22:04:07 +00:00
3a042d2053 Fix [#22965] Icons for new brushes won't get sticky 2010-07-22 21:10:29 +00:00
2a02632882 * removing the notifiers I added until I can discover the most lightweight way to achieve the same thing 2010-07-22 20:18:42 +00:00
3b5b761a56 == Sculpt/Paint Fixes ==
* Fix: unify strength and size did work consistently with other paint modes
* Fix: If [ and ] keys were used to resize a brush it was not possible to increase the size of the brush if it went under 10 pixels
* Fix: Made interpretation of brush size consistent across all modes, Texture/Image paint interpreted brush size as the diameter while all the other modes interpret it as radius
* Fix: The default spacing for vertex paint brushes was 3%, should be 10%
* Fix: due to fixes to unified strength, re-enabled 'Unify Size' by default
* Fix: Unified size and strength were stored in UserPrefs, moved this to ToolSettings
* Fix: The setting of pressure sensitivity was not unified when strength or size were unified.  Now the appropriate pressure sensitivity setting is also unified across all brushes when corresponding unification option is selected
* Fix: When using [ and ] to resize the brush it didn't immediately redraw
* Fix: fkey resizing/"re-strength-ing" was not working consistently accross all paint modes due to only sculpt mode having full support for unified size and strength, now it works properly.
* Fix: other paint modes did expose the ability to have a  custom brush colors, so I added the small bit of code to allow it.  Note: I made all of the other paint mode brushes white.  Note2: Actually, probably want to make the paint modes use the selected color for painting instead of a constant brush color.
* I had removed OPTYPE_REGISTER from some Sculpt/Paint operators but in this commit I add them back.  I'm not completely sure what this option does so I don't want to disturb it for now.
2010-07-22 18:56:46 +00:00
528cce4313 Broke cmake on Userpref patch... sorry. 2010-07-22 15:16:20 +00:00
bc42ff687e Fixing this error:
In file included from /home/joilnen/blender/obj/linux-glibc2.9-i386/blender/makesrna/rna_userdef_gen.c:612:
./rna_userdef.c:54:35: error: MEM_CacheLimiterC-Api.h: No such file or directory
make[4]: *** [/home/joilnen/blender/obj/linux-glibc2.9-i386/blender/makesrna/rna_userdef_gen.o] Error 1
2010-07-22 15:09:41 +00:00
b26a87fcd0 Bugfix: Mem cache limit wasn't updated, when changed in userpref. 2010-07-22 14:02:05 +00:00
3d22402720 Fix #22940: material rename crash, delete selection in a text button
was not working correct.
2010-07-22 12:51:04 +00:00
da04afe78e Fix [#22946] Camera inside volume gives bad results 2010-07-22 12:30:17 +00:00
f5d7fc6da5 committed wrong version of this file 2010-07-22 12:02:39 +00:00
5d2e08cdee Fix for volume render light cache:
Now the bounding box for the light cache's voxel grid is calculated in 
global space, rather than camera space as it was previously. This fixes
flickering lighting on static volumes with camera motion, caused by
the camera space bounding box changing from frame to frame.
2010-07-22 11:54:12 +00:00
33cb2f93ff Fix #22661: Multires/Sculpt Segfult
- Show error message in multires modifier if there is no MDISPS layer
- Sculpt on basis mesh if there is no the same layer
2010-07-22 11:27:54 +00:00
aa2f0b1e42 yet another inconsistency fix curve in uv editmode was using the drop down menu for picking curves instead of the icons 2010-07-22 11:21:21 +00:00
7c3375a6fb just a note on where to look later 2010-07-22 10:59:03 +00:00
97f91ed3fa this fixes the bug that occurs when using pen tablet controlled pressure and the first daub is at maximum pressure - the bug is actually in brush_painter_paint(BrushPainter *painter, BrushFunc func, float *pos, double time, float pressure, void *user) according to brecht, but 'seems more complicated than expected to properly fix this' so this work around has been approved 2010-07-22 10:56:27 +00:00
617711f7bf Attempt to fix black 3d view with texture paint + overlap draw mode. 2010-07-22 10:02:02 +00:00
9ded4bcc13 == Sequencer ==
Bugfix: toggling deinterlace properly updates movie files now
2010-07-22 08:57:23 +00:00
ea5fdcbd67 finished making uv paint panel consistent with the 3d view painting panel, asked Matt and he said the inconsistency was unintentional 2010-07-22 05:59:50 +00:00
188d1384fe Fix de/select all operator naming for consistency 2010-07-21 22:57:48 +00:00
7925de1415 Fix #22894
[#22894] SEQUENCER; Drag & Drop into VSE as strip sends user to
file manager for import - MS Windows

The invoke function for both operator don't check the the filepath
property (this come from the drop event), so always open the
file browser.

Note that this problem is still there for Image, but there is something
else there, because the op SEQUENCER_OT_image_strip_add never got
this property (filepath). I check and the problem seems to be the
missing WM_FILESEL_FILEPATH when call WM_operator_properties_filesel.

The problem is that if I put this flag in the function, the image
strip stop working, so have to check a little more about this.
(Any idea why ?)
2010-07-21 19:49:43 +00:00
969c0fd718 Fix #22894: sequencer drag & drop wasn't working anymore. 2010-07-21 17:37:40 +00:00
64de3feb37 Fix #22813: black 3d view with overlap mode + operator doing backbuffer
draw for selection but not selecting anything.
2010-07-21 16:49:43 +00:00
4536a4c610 Fix #22841: crash rendering scene with opengl in sequencer as part of
animation. Only allow this from main thread, opengl can't be called from
render threads. It was already disabled in background mode.

For now I'm going to consider this a limitation.
2010-07-21 16:20:54 +00:00
678892805e Fix #22883: interface panels blank when drawing axis constraint.
GL_DEPTH_TEST was not incorrectly enabled in wireframe mode.
2010-07-21 16:18:00 +00:00
b72af8c09a Fix #20983: cloth and smoke point cache step was not enforced to 1. 2010-07-21 15:58:15 +00:00
6a8ce04e54 Fix #20084: merging triangles with different normals into a quad
would create a hole, just crappy editmesh code, no need to merge
to bmesh.
2010-07-21 15:23:49 +00:00
44160c9747 Fix #20196: division by zero in edge slide with two overlapping loops. 2010-07-21 15:22:11 +00:00
ff00aa1b7e Fix #22786: displace node doesn't work with procedural textures. 2010-07-21 14:13:48 +00:00
ee6be64a2c Fix #22897: text insert operator only worked for one character,
now inserts the whole string.
2010-07-21 14:11:19 +00:00
8eb594b74b Fix #22870: Can't save modified non-packed images. File exist check
wasn't taking into account that there could be relative paths.
2010-07-21 14:09:45 +00:00
9d0a67fdc4 Fix #22921: Default human meta-rig will not export to FBX. Still missed
a check in my previous fix for this.
2010-07-21 14:08:55 +00:00
e3ad451ae1 * closed small gap at top of appearance panel 2010-07-21 11:58:23 +00:00
66ce15b7af Added a donations link in the splash. 2010-07-21 11:12:26 +00:00
e3428ae73f Change back automatic draw method to triple buffer for Intel cards, overlap is
not working reliable and flickering on various configurations, will try to find
out what these are, but for now probably better to have correct than fast drawing.
2010-07-21 10:44:46 +00:00
edeef8bcd7 Revert revision 30441: [#22876] Add new scene, stacker ".00" bug
This commit broke unique datablock naming, tried to fix it properly but the
code here is too tricky to change now, will just reopen the bug report.
2010-07-21 10:39:51 +00:00
ea008f862d forcing unfied size to off right now, since the other paint modes don't understand it. It can be renabled if jason has time to look at it (should be an easy fix, but it is far too late in the evening here for me to look). 2010-07-21 10:29:23 +00:00
3e908a8112 Moved constants names from KX_ACT_CONSTRAINT_foo to KX_CONSTRAINTACT_foo. 2010-07-21 09:46:24 +00:00
f59afb5f99 Unified size only works for sculpt, so only modify it in sculpt mode. 2010-07-21 09:39:21 +00:00
2ea8a71d87 2.5: move some do_versions compatibility code under < 253 check. 2010-07-21 09:25:00 +00:00
6b2c4dfe73 making this consistent with texture brush selector in the 3d viewport 2010-07-21 08:23:57 +00:00
d17ce0f148 Merging revision 30567 from my GSoC branch, log: Fix for sound not possible to load when file unsaved. 2010-07-21 07:55:53 +00:00
591ac357bb Fix for sound not possible to load when file unsaved. 2010-07-21 07:52:53 +00:00
46155bc009 svn merge -r 30513:30565 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-07-21 07:24:52 +00:00
51bd50f746 == installation paths ==
Hopefully last fix for path issues for this release
* The config folder should also be searched for in the 'local' path for local installations
(This code was already there, but removed in revision 30440)
2010-07-21 05:49:48 +00:00
6f4039ec1d svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30510:30563 2010-07-21 03:43:38 +00:00
4c52624524 * enabled tablet pressure for strength for all brushes 2010-07-21 01:39:18 +00:00
015ecdee29 * Polish preset did not enable tablet pressure for strength
* Turned off 'Front-Face Only' for all brushes, it needs more testing
* Added brush icons for other paint modes
* Moved 'tool' panel to bottom of all paint modes
* Moved 'appearance' panel to be next to bottom
* Moved brush selector panel to top of all modes
* Closed all panels except the brush selector panel
* Turned off X symmetry
2010-07-21 00:57:25 +00:00
c16049ab5c == VPaint ==
Work-in-progress, vpaint + multires. This commit just adds gpu drawing and vpaint editing of the multires colors through the PBVH. The colors aren't stored or subdivided yet though, so as soon as you switch levels or otherwise rebuild the PBVH the painted colors will disappear.
2010-07-21 00:47:19 +00:00
b21092d6ad sorry this hadn't been committed eearlier allows shift+number so now up to 20 brushes can be selected via the numeric selection instead of just the first ten, also CKEY is clay, SHIFT CKEY is crease, and IKEY is inflate - not sure when the IKEY for inflate got dropped previously 2010-07-20 23:53:52 +00:00
dd74b723eb * added keymap C for crease brush
* fixed key mappings for Pinch and Flatten
2010-07-20 22:06:12 +00:00
a0c80f31a0 * enable unified paint/sculpt size by default.
Note: I think this will enable paint/sculpt in all files, even when user has turned it off, unless subversionfile is bumped to 6 and the comparison is changed to subversionfile < 6.  

I'll leave that to somebody else who knows better when to change the subversionfile.
2010-07-20 21:55:08 +00:00
8005e7f130 * In previous commit, the draw brush for sculpting got separated out to a new brush called 'SculptDraw'. Updated the keymap 'D' to switch to this new brush. 2010-07-20 21:41:42 +00:00
d047e5cbcd fix [#22915] Bookmarks and Recent no longer working in r30498
fix [#22920] Clicking folder icons doesn't work in File browser and append

* issue was that on windows stat requires the trailing slash removed, even with mingw.
(since we are after ahoy, putting this into extra #define, code cleanup will follow after release)
2010-07-20 19:26:53 +00:00
a32b1ce8dc Add Ctrl+Alt+S as shortcut for "Save Copy". It was using the same as "Save As" and was confusing in the menu. 2010-07-20 18:06:46 +00:00
f8a67e87cf 2.5 Beta update to readme.html 2010-07-20 16:56:44 +00:00
a725cac520 Fix #22905
[#22905] Adding objects with a grid size of <1m results in a 0 size object

The problem here is that the return value of the function
ED_object_new_primitive_matrix is a float, not an int.

This come from an old revision, before the two dia and depth
multiplication was using the function (two call to the same
function). This was change to only call the functio one time
and store the value in the "scale" variable, but the scale
was declare as int, not float.
2010-07-20 16:54:50 +00:00
75913ce446 2.5 Beta version files increment, from 2.52 to 2.53. 2010-07-20 16:44:59 +00:00
822f0dbb92 2.5 Beta splash png. 2010-07-20 16:43:58 +00:00
1f6d178b73 2.5 Beta splash screen. 2010-07-20 16:42:23 +00:00
e8d45a8c40 * typo fix 2010-07-20 13:43:09 +00:00
886ce5a351 * can use file for brush icon
* fixed memory leaks
* moved some of the brush icon code around
* the update of the icon after a change is more responsive
2010-07-20 13:42:27 +00:00
a149410565 Fix #22910: displacement mapping not working with use alpha for image texture. 2010-07-20 13:32:42 +00:00
2800c2f0f9 Fixed linking order for datafiles in scons (introduced with Rev 30531)
(blenkernel references the icon data files and had lower priority...)
2010-07-20 13:15:25 +00:00
beb98c9e0c Bugfix #22872: invert zoom direction doesn't work
The setting for this (IMO it should really be on by default, for reasons I've outlined recently) was not exposed at all. 

The setting that was shown was a new(?) option in 2.5 which dealt with Ctrl-MMB drag zoom.
2010-07-20 12:37:42 +00:00
f9e9e90a02 == Sequencer ==
Cutting effect strips (esp multicam) didn't free endstill tstripdata.
Doesn't sound like much of a problem, but those can get big on large 
timelines. So every cut eating 3 MB of memory doesn't leave much room 
for editing decisions :)
2010-07-20 12:22:45 +00:00
faeec3b147 == 3D: background image ==
Doesn't visualize size and x, y position of the background Image in camera view
(reviewed by brecht before committing)
2010-07-20 12:20:55 +00:00
8621c71c4c Bugfix #22917: Translating numerically doesn't allow animation
I've made most operators which change the current frame are now undoable. This has the following benefits:
- it brings these into line with simply changing the frame number directly
- as in this bug report, using the operator tweaking/redo capabilities was causing problems, as the lack of an undo for the frame change mean that changing the operator properties (in this case to do numeric input for transforms, which is a bit of a creative if inefficient use of the available tools) would cause the current frame to reset to the previous frame, making it seem impossible to tweak the operator settings

Notes:
- screen.frame_offset() operator has been left alone, since I expect that undo pushes on this one would be truly annoying while on the others it's probably ok/wanted. This is because with this operator, animators usually end up stepping through their animations vs one-off jumps/scrubbing-sessions
2010-07-20 11:54:17 +00:00
b618a335f5 * Made the default sculpt icons an internal part of the executable
* Default icons can be selected from a menu
* Option to make a custom icon from a file is present but the UI is disabled because of a mysterious crash
* New startup.blend that has the appropriate icons selected
2010-07-20 11:32:30 +00:00
d8792465e0 Fix for python error in material panel. 2010-07-20 11:18:29 +00:00
c547323f1c Bugfix: The infamous "bone properties/constraints disappearing after renaming bones" bug
This was simply caused by the lookup hash-table not being updated to be aware of the new name. Now the hashes are updated, so the name lookups (used for UI drawing among other things) works ok again after renaming bones.

This closes (open) reports: 22882, 21801
and the closed/duplicate reports: 22067, 22670, 22384, 22665
2010-07-20 11:17:47 +00:00
b8ba541b90 Fix #22895: file browser now also filters .mts .m2v .m2t .avs as movies. 2010-07-20 11:06:26 +00:00
fe4c55008e Fix #22921: error FBX exporting armature without animation data. 2010-07-20 11:00:29 +00:00
75410037fd - correct some spelling errors.
- remove FreeCamera struct (wasnt used)
- remove world color alpha values (not used anywhre).
2010-07-20 10:41:08 +00:00
ef9357365c Workaround #20324: clouds (and other) textures bump mapping generates black
faces. Only happens with scons/msvc and SSE enabled for raytracing. Why this
happens exactly I don't know, I've tried to look for errors in the code but
couldn't find any, the perlin noise code somehow is generating NaN values,
but it is getting sane inputs. I suspect this is due to the render module
being compiled with /arch:SSE and other parts not. For now I've made only
the render_raytrace module compile with SSE, which seems to solve the problem,
but is mostly a workaround.
2010-07-20 10:22:49 +00:00
99c7b0d5c5 Attempt #3 for sculpt startup.blend.c
Since the icons were renamed had to rename them in startup.blend

Issue: now the icon images will show up in image menus
2010-07-20 06:05:25 +00:00
cbc0e6ad4a * new icons for blob and twist brushes 2010-07-20 05:36:19 +00:00
d5d343a86b noise python module back from 2.4x, personal request from ant author Jimmy Haze
Changes:

/* 2.5 update
 * Noise.setRandomSeed --> seed_set
 * Noise.randuvec --> random_unit_vector
 * Noise.vNoise --> noise_vector
 * Noise.vTurbulence --> turbulence_vector
 * Noise.multiFractal --> multi_fractal
 * Noise.cellNoise --> cell
 * Noise.cellNoiseV --> cell_vector
 * Noise.vlNoise --> vl_vector
 * Noise.heteroTerrain --> hetero_terrain
 * Noise.hybridMFractal --> hybrid_multi_fractal
 * Noise.fBm --> fractal
 * Noise.ridgedMFractal --> ridged_multi_fractal
 *
 * Const's *
 * Noise.NoiseTypes --> types
 * Noise.DistanceMetrics --> distance_metrics
 */
2010-07-20 03:14:21 +00:00
132a1f95c1 * Attempt #2 for new startup.blend
* This file has the default filenames for the sculpt icons

* Note: This does not contain code to make sure that icons get installed to 2.52/datafiles/brushicons so they can be loaded properly
2010-07-20 02:55:08 +00:00
80e6323646 * Images for brush icons are now reloaded when they are needed from an external file
* First, try to load the file from the given filename.  This is either absolute or relative to the current .blend
* If file is found using the given filename directly then look for the file in the datafiles/brushicons directory (local, user, or system).

* Note: This commit does not update the .blend to reference the default icons
* Note: This commit does not make sure that the build system copies the default icons to the 2.52/datafiles/brushicons directory
2010-07-20 02:18:10 +00:00
1033b60824 Fix #22911
[#22911] Node editors: pressing home doesn't zoom properly

Was using the incorrect value to calculate the new area
(also a typo in the ymax/xmax).

The bug can be found on the 2.4x version too, not really
sure how old is it.
2010-07-19 22:47:15 +00:00
4490e409a4 svn merge -r 30418:30512 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-07-19 22:43:45 +00:00
5c51671227 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30325:30510 2010-07-19 22:05:25 +00:00
bf22acbaff svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30324:30325
Nasty merge conflicts in editors/sculpt_paint, probably made some mistakes. Will finish merging to latest trunk before fixing bugs though.
2010-07-19 20:52:33 +00:00
c7ce37471d == Sequencer ==
Bugfix: free_imbuf_seq() was closing IMB anim handles on nearly every 
change of RNA variables. This can be *very* slow, if you twiddle with 
parameters during playback. Especially multicam editing...

Now: we close IMB anim handles only on refresh_all() and filepath 
changes.
2010-07-19 20:01:18 +00:00
5095e97ea6 use the world horizon color when view3d render only option is set 2010-07-19 19:57:28 +00:00
c2945d31e7 SVN maintenance. Plus no hidden files in config. 2010-07-19 18:08:29 +00:00
55d17f69d8 == Sequencer ==
Add keyboard shortcuts for multicam editing 
(hit 1-0 (regular, not keypad!) to cut to camera 1-10 during playback)
2010-07-19 17:47:58 +00:00
e24d90acad Add a "Save Copy" entry in the File menu. 2010-07-19 17:45:03 +00:00
aa0e4277a2 == Sequencer ==
In multicam editing, do not cut to non existent cams (above multicam 
track)
2010-07-19 17:39:25 +00:00
40ee7ef155 == Sequencer ==
Made mpeg_preseek accessible again.
2010-07-19 17:38:20 +00:00
523e8e4dc9 == FFMPEG ==
This is a fix for the following issues in ffmpeg movie reader:

* mpeg transport stream seeking (HDV) failed completely, since ffmpeg
  doesn't want to seek by timestamp (those aren't guaranteed to be 
  strictly monotonic within those file formats)

  We therefore seek by byte and use the bitrate in those cases. 
  This isn't a real fix,
  I will add a seperate index building process, soon, so that we can
  finally seek by timecode properly (optionally with "free run timecode"
  on consumer video camcorders, stay tuned :) )

* Recent versions of ffmpeg do set the ALPHA channel to 0xff properly,
  so we test the first pixel for proper ALPHA and then workaround
  optionally.
2010-07-19 16:27:31 +00:00
ff83a98a07 Add a "copy" option to the save_as_mainfile operator. It saves the current
state but does not make the saved file active, so further save won't use 
this filepath.
2010-07-19 15:39:12 +00:00
1f7bcf2544 Minor sphinx corrections:
* Attributes starting with _ in classes are now ignored
* sphinx.blend updated so that it doesn't have to be edited anymore if the script changes
2010-07-19 13:36:10 +00:00
f7298287b3 Bugger... msvc didn't bail out on these... 2010-07-19 11:47:46 +00:00
185036c3ed Bugfix #22906: Animation Player buttons broke on r30467
Reverting this commit. Seems that only the added parts were tested. I'll look at restoring a similar version of this in future.
2010-07-19 11:25:23 +00:00
5108706176 Fix startup.blend, this was made from a regular blend file, not
the one saved when saving user preferences.

I've left out the brush icons. It's really not acceptable to have
these as image datablocks. Having these packed would also mean
increasing the size of every .blend file by 650 KB. They should be
loaded from the datafiles directory.
2010-07-19 10:45:15 +00:00
Nathan Letwory
f054ecd37a libjack.dll not needed anymore 2010-07-19 10:15:49 +00:00
1f8f55b3cd - Reverted "Set FREE_WINDOWS when compiling with MinGW"
- Reverted own changes made to _stat function BLI_exists
- Use __MINGW32__ instead of FREE_WINDOWS in BLI_exists
- Removed recently added lib dependencies for mingw
2010-07-19 09:19:54 +00:00
Nathan Letwory
38860522bf Set FREE_WINDOWS when compiling with MinGW 2010-07-19 09:04:22 +00:00
266438b5e0 - Use correct paths for mstoolkit and crossmingw tools in sconscript
- Use _stat64i32 instead of _stat in BLI_exist
  Needed for correct compilation by mingw, no sense for msvc
  (_stat is equivalent to _stat64i32 in Visual C++ 2005, and later i suppose)
- Added library msvcr90 for mingw to solve linking error to _stat64i32
2010-07-19 09:02:27 +00:00
Nathan Letwory
c28c33d19d Fix for #22861 Won't compile for MinGW sicne r30349 2010-07-19 08:55:06 +00:00
acf3c4bb02 * decrementing image_icon ref count from wrong place 2010-07-19 07:29:52 +00:00
7b1aeea029 * spelling error, "substract" 2010-07-19 07:26:41 +00:00
87ff29f932 * new factory defaults include Eclectiel's sculpt icons and new default brush settings for the new GSoC sculpt tools 2010-07-19 06:56:08 +00:00
bdc305b55b stupid mistake, was overwriting all strip saturation on load. 2010-07-18 15:19:50 +00:00
62ffc2ab14 update from venomgfx, have the node toggle rather then an icon. 2010-07-18 15:13:19 +00:00
beb4bec453 patch for displaying a node icon in the material panel if the material has nodes (from venomgfx) 2010-07-18 14:58:32 +00:00
5f1246f62a Small feature for the Durian guys:
Playback Jog Keys:
ALT+LEFTARROW: play backward (hit again for double speed)
ALT+RIGHTARROW: play fordward (hit again for double speed)
ALT+DOWNARROW: start/stop animation
2010-07-18 14:46:52 +00:00
0a2e485926 move the thumbnailer to bin/ 2010-07-18 11:46:25 +00:00
0a34050e90 2.5: hide indirect light panel for raytrace, it does nothing. 2010-07-18 10:58:41 +00:00
82e7d6d332 Merging revision 30461 from my GSoC branch, log: Fix for msvc which not has the round function. 2010-07-18 08:19:44 +00:00
7932b86062 Fix for msvc which not has the round function. 2010-07-18 08:12:50 +00:00
93915f1120 fix for crash when terminating thumbnail threads 2010-07-18 08:07:38 +00:00
Dalai Felinto
7aebd56153 fixing small ambiguity in the logic brick link code
(not sure it booms in any compiler, but it doesn't hurt to make it right)
2010-07-18 01:51:14 +00:00
40078f22b2 CMake on unix
- install manpage into the correct location defined: http://www.pathname.com/fhs/2.2/fhs-4.11.html
- dont copy pyc files from release/scripts
2010-07-17 21:11:04 +00:00
2b408cab4e Fix for uninitialized results from hsv_to_rgb, when hue is out of range 0..1. 2010-07-17 21:01:00 +00:00
84b291462f netrender
- Temporary fix for linked libs repathing (didn't work correctly when using relative links).

- autorefresh only for main page (on job page, it's really annoying because it keeps reseting results preview, so until that's fixed, off it is).
2010-07-17 18:40:00 +00:00
fd31436897 spelling correction: alredy --> already 2010-07-17 18:08:14 +00:00
e25393a098 reverting commit r28693. Making backspace a 3rd delete key.
We already have 2 keys for delete, no need to add a 3rd, better use backspace only when it makes sense or allow users to hook it up to something.
2010-07-17 18:02:10 +00:00
1bb0c84236 - added text3d.body_format to be able to set bold/italic/smallcaps etc on text.
- the length of a new text object wasnt set on creation.
- tex3d and controllers rna name was being set to its body (rather then ID name)
- remove reference to wave objects which are very old and not used anymore.
2010-07-17 17:50:20 +00:00
a3d822f857 Rendering from the sequencer in background mode was printing frame 0 for every frame 2010-07-17 17:36:53 +00:00
21cb1f82db Revert part of commit 29079, cleanup of particle path drawing logic
This commit and other commits attempting to fix it broke various things. The
main thing that changed was that instead of computing children/paths in
advance as part of particle_system_update, this was moved to do it just before
drawing or rendering. I've changed back that behavior and tried to keep the
other fixes in the commit.

When the new particle system was just committed, it also worked this way but
gave various problems, and I had to remove that behavior to get things working
stable. Basically it meant that you could get have a path cache that was
outdated in various situations, and it doesn't fit well with dependency graph
evaluation order.

This fixes:
#22823: Children Particle Rendering is broken
#22733: Particle objects not displayed
#22888: SigSegV when rending hair particles
#22820: Another SigSegV when undo adding hairs in particel edit mode
Some particle setups in dupligroups.

The three bugs that the original commit fixed are now also still working in
my tests:
#21316: Hair weight drawing is wrong
#21923: Consistent Crash When Rendering Particle Scene.
#21950: Path rendering option for particles causes crash
2010-07-17 17:07:50 +00:00
02ef91a619 [#22876] Add new scene, stacker ".00" bug
finding duplicates is a bit faster now too since it doesnt split the name and number before comparing ID's prefix.
2010-07-17 16:17:30 +00:00
e4756f4c33 2.5: installation paths, local directories (in the same folder as executable)
are now considered system rather than user directories, as you would expect
these to override any system directory for local installations.
2010-07-17 15:42:01 +00:00
51bbc01adf Audaspace Py API: Getting rid of string literal warnings. 2010-07-17 14:57:46 +00:00
ebc971f532 bugfix [#22890] Setting the Maya keymap gives python errors 2010-07-17 14:34:52 +00:00
98b6efa35e Autoplay: Fullscreen now really works. 2010-07-17 14:23:21 +00:00
fd982af447 Merging revision 30434 from my GSoC branch, log: Fixed sound wave display bug for sounds that are not full length. 2010-07-17 13:41:22 +00:00
abeecf4d72 Fixed sound wave display bug for sounds that are not full length. 2010-07-17 13:37:28 +00:00
06193537ed * Applied patch from nicholasbishop that refactors calculation of the grab delta into a function with less duplication 2010-07-17 13:31:33 +00:00
22c6b7d174 PNG Compression can now be set, writing uncompressed PNG's is significantly faster for high resolution images - 2k. 2010-07-17 13:29:55 +00:00
30b712ed68 48Hr Bugfix: Paste pose not correctly updating
Removed some antiquated cruft that used to work around the old anim-system.
2010-07-17 13:18:11 +00:00
Dalai Felinto
cc11047fad Logic Editor: fix for float values steps and precision (reported by Mal Duffin (malCanDo) over email)
The UI wasn't working.
+ renaming motion blur rna to motion_blur_factor
+ fixing "using wrong dna" for min_y constraint actuator RNA
2010-07-17 02:29:29 +00:00
4cc05dfc1b simplify thumbnail reading and remove some warnings 2010-07-17 00:38:34 +00:00
71c22fefea sequencer outline, credits on a black background wasnt easy to see. 2010-07-16 23:17:13 +00:00
7b480e34fd svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r30167:30324 2010-07-16 23:06:48 +00:00
addb2bbff2 fix for assigning any ID in rna, it would not run id_lib_extern() which means the library reference would be lost on reload. 2010-07-16 22:21:37 +00:00
8ecf072f9a BGE Py API:
* Sphinx autorun file.
* bge modules are now autogenerated
* added aud module
2010-07-16 21:42:20 +00:00
2ffe3e46c5 svn merge -r 30323:30417 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-07-16 17:43:08 +00:00
8b8b4f3324 Enabling game engine autoplay again based on a patch by Dalai:
* The biggest 3D view in the open scene is used, if there is none, blender opens the file normally and raises an error.
* The 3D view are is made fullscreen.
* Quad view, header, properties and toolbox panel are all hidden to get the maximum view.
* If the game engine full screen setting is set, the game starts in fullscreen.

With this abilities we maybe don't need the game player anymore?!
2010-07-16 17:25:23 +00:00
6a880daa92 homekey in sequencer viewer wasnt quite setting 1:1 2010-07-16 16:54:39 +00:00
ca3f3317b2 == installation paths ==
* rename BLI_gethome to BLI_getDefaultDocumentFolder to better reflect how this function is used
* replaced BLI_gethome with getenv("HOME") on Linux and Mac where it retrieves location of bookmarks that are inserted as system bookmarks. BLI_gethome was a thin wrapper around these and in this case the user's home directory is what is actually wanted.
2010-07-16 16:02:07 +00:00
3ef41270f9 [#22880] SEQUENCER: Flip Y broken in recent builds (Windows & Linux)
own fault when adding saturation.
2010-07-16 15:45:35 +00:00
ddfdf8e1b2 Fix for [#22668] Adding sequencer color strip fails when sound strip selected.
Hi,

I've written a patch to fix this issue. Since the Effect Strip
"Color" doesn't need any input sequences, there is
no need to output a warning when adding this effect while other
sequences are selected. My fix let's all Effect Strips that don't
need input sequences pass the warning "Can't apply effects
to audio sequence strips". I think this is fair.

-Konrad
2010-07-16 14:00:57 +00:00
dd705a25ce fix for freeze while resizing sequencer view vertically 2010-07-16 13:55:22 +00:00
f6ae7af243 2.5: automatic draw method now uses overlap for Intel on all platforms. 2010-07-16 10:13:04 +00:00
d94868f821 Incorrect flags were checing for cyclic in order clamping functions 2010-07-16 09:45:09 +00:00
952821dfd4 BGE doc updates:
Fixed some typos and added docs for the following functions:

startGame()
endGame()
restartGame()
LibLoad()
LibNew()
LibFree()
2010-07-16 09:10:46 +00:00
Nathan Letwory
7ba821cab3 Add comment about case where autosave can fail on Windows. 2010-07-16 06:49:31 +00:00
e4e80c4def Blendfile thumbnail extractor, so icons can be automatically extracted from blend files as PNG's and displayed in a file browser.
Runs with python 2.6 and 3.1 with no special deps.

To have nautilus display thumbnails automatically.
 gconftool --type boolean --set /desktop/gnome/thumbnailers/application@x-blender/enable true
 gconftool --type string --set /desktop/gnome/thumbnailers/application@x-blender/command "blender-thumbnailer.py %i %o"
2010-07-16 01:00:56 +00:00
ccbd4f3a0f path -> filepath
Someone must have missed that when updating the operator properties.
2010-07-15 22:37:07 +00:00
615db01b01 == installation paths ==
* fix for autosave location -> shouldn't use BLI_gethome anymore
* this frees BLI_gethome of having to emulate the local->user->system search path and can now be truly considered as 'home/default location for .blend files'
* removed setting the default G.sce from read_history, was out of context there.
* fix for creating user dir, leftover from previous commit.

jesterKing, please review -> if there are any issues I will fix or revert.
2010-07-15 21:39:47 +00:00
2f96ac8b9f SVN maintenance. 2010-07-15 20:30:31 +00:00
a3e0667e94 Rather then hard coded /usr/share, use CMAKE_INSTALL_PREFIX to set the PREFIX, could be added for scons/make too. 2010-07-15 20:25:09 +00:00
f36ab733bf Update MSVC9 project file 2010-07-15 20:16:17 +00:00
05fb497f75 == installation paths ==
remove deprecated python BLI_gethome_folder calls

Patch by Brecht, thanks a lot
2010-07-15 20:02:53 +00:00
7fc9eee08a - updated man page from --help output.
- cmake now installs the man page.
- added cmake_linux_install.sh, shell script which downloads and builds blender.
2010-07-15 19:58:23 +00:00
7a3ff66575 == installation paths ==
* fix case where environment variable was used without subfolder
* some small cleanup
2010-07-15 19:42:36 +00:00
7df9df1373 == rna cleanup ==
- after talking with brecht, changes keys prefixes with "is_pressed_alt" and so on if readonly and "pressed_alt" if not readonly
- updated the rna_cleaner.py with real prefixes and keywords so it's clear what it is being used

    kw_prefixes = [ 'active','apply','bl','exclude','has','invert','is','lock', \
                    'pressed','show','show_only','use','use_only','layers','states']
    kw = ['active','hide','invert','select','layers','mute','states','use','lock']
2010-07-15 18:34:25 +00:00
68c59beefd RNA cleanup: some more boolean changes based on discussion with Luca. 2010-07-15 17:54:53 +00:00
5ae1687bd7 fix for one of the problems with [#22846] GCC 4.4.1 support in Windows 2010-07-15 17:36:00 +00:00
02da5ecfed Apply first pass of edits to rna values from rna_booleans.txt.
These are not animated and are best not change names like this too late in the release.

ActionGroup.selected -> select:    boolean    Action Group is selected
BezierSplinePoint.hidden -> hide:    boolean    Visibility status
BezierSplinePoint.selected_control_point -> select_control_point:    boolean    Control point selection status
BezierSplinePoint.selected_handle1 -> select_left_handle:    boolean    Handle 1 selection status
BezierSplinePoint.selected_handle2 -> select_right_handle:    boolean    Handle 2 selection status
Bone.restrict_select -> hide_select:    boolean    Bone is able to be selected
Bone.selected -> select:    boolean
CurveMapPoint.selected -> select:    boolean    Selection state of the curve point
EditBone.restrict_select -> hide_select:    boolean    Bone is able to be selected
EditBone.selected -> select:    boolean
EditBone.selected_head -> select_head:    boolean
EditBone.selected_tail -> select_tail:    boolean
EditBone.locked -> lock:    boolean    Bone is not able to be transformed when in Edit Mode
EditBone.hidden -> hide:    boolean    Bone is not visible when in Edit Mode
NEGATE * FCurve.disabled -> enabled:    boolean    F-Curve could not be evaluated in past, so should be skipped when evaluating
FCurve.locked -> lock:    boolean    F-Curve's settings cannot be edited
FCurve.muted -> mute:    boolean    F-Curve is not evaluated
FCurve.selected -> select:    boolean    F-Curve is selected for editing
NEGATE * FCurve.visible -> hide:    boolean    F-Curve and its keyframes are shown in the Graph Editor graphs
FCurveSample.selected -> select:    boolean    Selection status
GPencilFrame.selected -> select:    boolean    Frame is selected for editing in the DopeSheet
GPencilLayer.locked -> lock:    boolean    Protect layer from further editing and/or frame changes
GPencilLayer.selected -> select:    boolean    Layer is selected for editing in the DopeSheet
Keyframe.selected -> select:    boolean    Control point selection status
Keyframe.selected_handle1 -> select_left_handle:    boolean    Handle 1 selection status
Keyframe.selected_handle2 -> select_right_handle:    boolean    Handle 2 selection status
MeshEdge.selected -> select:    boolean
MeshEdge.hidden -> hide:    boolean
MeshFace.hidden -> hide:    boolean
MeshFace.selected -> select:    boolean
MeshVertex.hidden -> hide:    boolean
MeshVertex.selected -> select:    boolean
MotionPathVert.selected -> select:    boolean    Path point is selected for editing
NlaStrip.selected -> select:    boolean    NLA Strip is selected
NlaTrack.locked -> lock:    boolean    NLA Track is locked
NlaTrack.muted -> mute:    boolean    NLA Track is not evaluated
NlaTrack.selected -> select:    boolean    NLA Track is selected
Object.restrict_render -> hide_render:    boolean    Restrict renderability
Object.restrict_select -> hide_select:    boolean    Restrict selection in the viewport
Object.restrict_view -> hide:    boolean    Restrict visibility in the viewport
Object.selected -> select:    boolean    Object selection state
ObjectBase.selected -> select:    boolean    Object base selection state
PoseBone.selected -> select:    boolean
Sequence.right_handle_selected -> select_right_handle:    boolean
Sequence.selected -> select:    boolean
SplinePoint.selected -> select_control_point:    boolean    Selection status
TimelineMarker.selected -> select:    boolean    Marker selection state
Sequence.left_handle_selected -> select_left_handle:    boolean
ActionGroup.locked -> lock:    boolean    Action Group is locked
Bone.hidden -> hide:    boolean    Bone is not visible when it is not in Edit Mode (i.e. in Object or Pose Modes)
SplinePoint.hidden -> hide:    boolean    Visibility status
FModifier.muted -> mute:    boolean    F-Curve Modifier will not be evaluated

 note: rebaned uv_select to select_uv
2010-07-15 16:56:04 +00:00
220fd2e80a rna name edits as discussed with brecht. restrict -> hide. 2010-07-15 15:37:57 +00:00
7fb16fb5ec Update --help message for new path environment variables. 2010-07-15 15:20:53 +00:00
cfa5580843 Fix for use of path environment variables, was not appending subfolder. 2010-07-15 15:03:42 +00:00
df3da6ec49 Fix #22851: missing undo push for color picker, these only work if
there is a button label or tooltip.
2010-07-15 13:34:14 +00:00
f5957e6237 own recent commit which added support for writing srgb float buffers broke writing char buffers as half EXR's. 2010-07-15 13:32:20 +00:00
5daf9354d2 change some references to .B.blend, .Blog to new names 2010-07-15 11:51:43 +00:00
dcc1e6019d Fix: rename to .blend1 as last before writing, after creating blend thumbnail. 2010-07-15 10:51:05 +00:00
a5aa3ff795 * smooth wasn't working with strengths below .5 2010-07-15 05:53:11 +00:00
82b55d9391 Disabled mode-switching keys during 3D View orbit/zoom etc. in default key map.
Still possible to re-enable via editing the modal keymap, but was getting a bit 
annoying in its current state. Can probably be implemented a bit better in the 
future with timers etc, but no time at the moment.
2010-07-15 03:49:32 +00:00
7f083c45be use dict comprehension where possible 2010-07-15 00:52:26 +00:00
Nathan Letwory
4242baa704 Logic UI: Changing Controllers names to follow Sensors and actuators (back to have only the first latter capitalized) + change the controller state only when in expanded mode (show the number otherwise).
Cosmetic commit, no structural/big code changes (patch by dfelinto).
2010-07-14 23:51:21 +00:00
Nathan Letwory
0980f2555f * Use same BLI_exist() on all platforms.
* remove extra sys/types.h include.
2010-07-14 23:39:23 +00:00
Nathan Letwory
aa15c8a5bf S_ISDIR and S_ISREG were checking completely wrong for directory and regular file bits. 2010-07-14 22:16:56 +00:00
Nathan Letwory
ad12866e19 To be actually useful, also report the filename when write operation fails. 2010-07-14 20:52:23 +00:00
dd3f9cff91 patch from Goran Milovanovic for the BGE python api.
camera.ortho_scale (use when in ortho mode only)

(own previous commit incorrectly removed thumb metadata from new imbuf)
2010-07-14 20:52:04 +00:00
64875e9fda - change blend thumbnail loading function not to use goto's
- fix for some warnings
2010-07-14 20:31:11 +00:00
1bb789956d CMake patch from Ralf Hölzemer (cheleb)
[#22849] Fix cmake install target on linux
--- from the tracker ---
This patch fixes the install target for the linux platform. Since the new configuration path changes are in effect, files have to be installed in the correct places instead of just copying the local installation to $PREFIX/share/blender.

It also provides a new macro to determine the correct blender version values.

Changes in this patch include:

- the .desktop menu file is installed in $PREFIX/share/applications and points to the svg icon instead of a png one, which is also installed in $PREFIX/share/pixmaps
- docs are installed in $PREFIX/share/doc/blender
- scripts are installed in in $PREFIX/share/blender/x.xx/
- locales are installed in in $PREFIX/share/blender/x.xx/datafiles
- a new cmake macro determines and sets the correct values for BLENDER_VERSION_MAJOR, BLENDER_VERSION_MINOR, BLENDER_SUBVERSION, BLENDER_VERSION, BLENDER_MINVERSION_MAJOR, BLENDER_MINVERSION_MINOR, BLENDER_MINSUBVERSION and BLENDER_MINVERSION by parsing source/blender/blenkernel/BKE_blender.h and calculating major/minor values. This replaces the hardcoded value in the top CMakeLists file and is used by all platforms.
2010-07-14 20:26:46 +00:00
eb4795be57 mistake in recent commit, set all axis values. 2010-07-14 20:19:53 +00:00
e25c0445f5 * new settings for brushes in do_versions had wrong subversionfile 2010-07-14 20:16:04 +00:00
7de6a8e1ac * Accidentally bumped file subversion after sculpt merge. Perhaps this should be done, but not without permission.
My comment even said not to merge it :)
2010-07-14 20:08:30 +00:00
fd8380da93 * removed unneeded autosmooth_overlap, forgot to remove before merge
* replaced omp critical sections, code either crashes or does not function correctly without them
2010-07-14 20:04:02 +00:00
d4b04fac04 partial fix [#22846] GCC 4.4.1 support in Windows
Still getting error:
 Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
2010-07-14 18:22:39 +00:00
a6a646cf5b Scons/darwin (OSX): blender.app package is now created correctly in the install folder 2010-07-14 18:19:34 +00:00
8e3a9634a3 Change to text3d: When back or front is enabled, the bevel rim on the other side is not created anymore, just as the back/front filling faces are not created when disabled.
when both are off the behavior is unchanged.

This is needed when rendering alpha text so its possible to have a single layer of faces but use the bevel option to make text thicker.
adding a rim on the back when back is disabled also doesnt make much sense IMHO.

minor python edits too.
2010-07-14 17:47:58 +00:00
fe958e647f SVN maintenance. 2010-07-14 17:27:56 +00:00
Nathan Letwory
18c82ce390 Make SConstruct look in build_files/scons/tools and import from there, so no more 'import tools.Blender'.
This fixes problem after change to this new location, but with .pyc files still lingering in old tools/
directory that still got imported due to syspath form.
2010-07-14 16:38:09 +00:00
46f89336d6 fix for autocomp., was raising an error when autocompleating functions defined in the console because their file wasnt found (which is correct in this case). 2010-07-14 14:56:33 +00:00
267c286091 Fix compile error after merge, gpu_buffers.h -> GPU_buffers.h. 2010-07-14 14:31:27 +00:00
5505697ac5 Merge GSOC Sculpt Branch: 28499-30319
https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-jwilkins
See log of that branch for details.
2010-07-14 14:11:03 +00:00
74e1f3efb3 svn merge -r 30262:30322 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2010-07-14 12:40:46 +00:00
5315a84ebf Python API:
* PEP8 fixes for aud.
* Correction of doc strings.
2010-07-14 12:35:55 +00:00
ae1748b984 bugfix [#22847] 18+ char Name in Edit Strip causes errors when duplicating strips 2010-07-14 12:16:23 +00:00
80355fd456 bugfix [#22843] Cannot export to folder with ".blend" on the end. 2010-07-14 11:58:19 +00:00
fef943873c DopeSheet: Commented out menu entry for 'Grease Pencil' mode for now, since I don't have time to restore this now (i.e. in time for 2.53). It will come back some day, but just probably not for another few months. 2010-07-14 11:07:30 +00:00
9a93713f64 Bugfix #22792: Blender crashes after inserting keyframe pressing "I" key
Insert Keyframe function was not checking that an ID-block was given before trying to resolve the RNA-path using it.
2010-07-14 11:03:07 +00:00
f406cf4ac8 Fix a few compile warnings and rename gpu_buffers.h to GPU_buffers.h
for consistency.
2010-07-14 10:46:12 +00:00
ee9437f794 Fix for #22818: blender doesn't find a systemwide installed python.
What happens is that blender looks for a directory "python" in the same
place as the executable for local installations, but that also means when
you have /usr/bin/blender it will look for /usr/bin/python, which is an
executable. Now it checks if it is actually a directory and not a file.
2010-07-14 10:44:34 +00:00
7ad8e5b6f8 Fix #22816: crash in depsgraph loading some 2.49 files, tagging objects for
update on load should be done later because it's not known yet which scene
is used with which layers visible before the windows are created.
2010-07-14 09:46:26 +00:00
a305a72939 select parent/child now works for multiple selections ([/] keys) 2010-07-14 09:40:26 +00:00
a61e7041ce Removed stopDSP, relict from FMOD. 2010-07-14 09:01:31 +00:00
e7877979af Merging revision 30301:30302 from my GSoC branch to trunk, log:
Fixed error in 2.4x sound conversion.
2010-07-14 08:55:08 +00:00
247f95cb7b Fixed error in 2.4x sound conversion. 2010-07-14 08:52:06 +00:00
935ca611c3 [#22830] Hex colour number (COLOUR BALANCE) is out the range in video strip
- use FTOCHAR macro which clamps values above 1.0 (rather then wrapping)
- also fixes a problem rounding down where white would display as FEFEFE rather then FFFFFF

the report also mentions how editing colors above 255 is broken but think this isnt worth trying to support.
2010-07-14 08:39:59 +00:00
16a54c9b8f [#22782] Solidify Thickness negative and positive values are the same result
more a communication problem but Ed Britton raises a valid point that often you want the original faces so changing the default offset to -1.0.
2010-07-14 08:24:24 +00:00
bdd733c3f2 bugfix [#22840] Folders with ".blend" on the end are processed like .blend files
elubie, this was added r27523 but cant see why it would be useful to have.
2010-07-14 08:00:03 +00:00
6b6cdbe322 pointcache support for relative external paths with the useual // prefix as well as library path option. 2010-07-14 07:47:03 +00:00
7a2394c718 Patch #22807: Add select/deselect buttons to armature bone group panel
Patch submitted by Torsten Rupp (rupp)
2010-07-14 03:19:19 +00:00
3580d6229a - text3d was missing menu items for toggling bold/underline/italic/smallcaps.
- made smallcaps use a temp flag so caps can still have the smallcaps flag.
- utility function for getting the char from a font. find_vfont_char(), was inline in ~5 places.
- removed CU_STYLE mix of flags only used in one place, not needed. removed 'style' from rna too.
- fix for some warnings.
2010-07-13 23:51:21 +00:00
03e638d128 - make duplis real wasnt redrawing
- small caps option for titles (doing manually is quite painful to watch).
2010-07-13 22:21:59 +00:00
c5d6665cb3 fix for rendering sequencer float buffers, need to convert into linear color space for the render buffer. 2010-07-13 19:52:04 +00:00
7f8f32db40 dont show active spline for text 2010-07-13 19:24:35 +00:00
78487eb0a2 RNA cleanup: review of booleans done. 2010-07-13 17:11:50 +00:00
c0ba1671c3 group refcount checking was inconsistent.
- if a group has one or more objects in it, it gets a refcount of 1 on load (unchanged from before)
- dupli-groups, and materials no longer add/remove a reference.
- now groups are only freed when they contain no objects or when manually unlinked.
2010-07-13 16:53:17 +00:00
8ee36e1da5 - fix for eternal loop with metaballs in set scenes.
- next_object() now loops through all set scenes, not just the first one.
- removed F_SET, rather them having a mode for looping on a set, just use the set when the first scene ends.
- metaballs can now glob between scenes however there are still some depsgraph issues that existed before.
2010-07-13 16:06:51 +00:00
ea143875f7 Fix [#22833] missing lock icon
Was missing the icon in makesrna definition.
2010-07-13 15:20:35 +00:00
e86b78c47c Merging revision 30264:30270 from my GSoC branch to trunk, logs:
Bugfix for [#22284] Blender cursor gets stuck in the timeline when scrubbing (jack transport).

Dirty hack fix for:
* [#22366] Cutting audio and meta strips with audio does not actually cut audio
* [#22639] Audio not clipped to meta bounds

Also fixed a seemingly symptomless bug in sequencer_edit.c
2010-07-13 15:19:15 +00:00
3141374ae8 Dirty hack fix for:
* [#22366] Cutting audio and meta strips with audio does not actually cut audio
* [#22639] Audio not clipped to meta bounds

Also fixed a seemingly symptomless bug in sequencer_edit.c
2010-07-13 15:14:29 +00:00
44f1decdc0 Fix #22829: build error in openjpeg with SSE using MSVC, already fixed
in openjpeg svn but not in any release, so adding just that fix for now.
2010-07-13 13:59:34 +00:00
ee03a99695 Fix #20461: deleting VBO's from threads used for rendering or baking would
crash, as OpenGL can't be called from these. Now deleting VBO's is delayed
until the next redraw in the main thread.
2010-07-13 13:31:43 +00:00
222da0593f Bugfix for [#22284] Blender cursor gets stuck in the timeline when scrubbing (jack transport). 2010-07-13 11:50:04 +00:00
7a89b679c9 Merging revision 30126:30261 from trunk. 2010-07-13 11:14:49 +00:00
Dalai Felinto
f533a70a4b Logic UI: HEADERS changes:
adding option to change state + showing the name, type as label when not-expanded + renaming rna prop "states" (from state_number) + small UI changes + capitalizing Controller Type names (as we had in 2.49). Why? I'm not sure. Therefore let's stick to 2.49 way of doing it for a bit longer.

* It would be really nice to have a drag&drop system for logic (instead of the move up/down button)
* The controller header is so messy :/ definitively should find a better way to handle that (for one the "change state" operator doesn't need this up/down arrow. I'm (temporarly) using the old code for that, so this will wait for when we use proper rna ui here.
* I wonder if it's possible to get the name of the logic type straight from the rna prop (instead of using sensor_name(sens->type) )
2010-07-13 11:06:19 +00:00
a806a89255 Fix #22804: own mistake, remove doubles shouldn't get cancelled if no
vertices are merged, but finish so the threshold can be tweaked.
2010-07-13 10:45:40 +00:00
161ee379a0 2.5: startup.blend changes, these should all be consistent with new datablocks,
mostly the startup.blend was trailing behind. Also renamed B.blend.c.

* Lamp shadow buffer was Classical instead of Classical Halfway.
* Point Lamp was named "Spot".
* Render resolution is 50% 1080p.
* Scene and material bake/use tangent space normal maps.
* Remove empty text datablock.
* Enable auto ray bias on material.
* Change default material diffuse color to match new material.
* Mist start/depth from 0/0 to 5/25 so it does something.
* AO uses Add instead of Multiply.
* Change world colors for new world same as startup.blend.
* Default cube rotation was 0,-0,0 now 0,0,0.
* Enable relative/filter/hide files in user preferences.
2010-07-13 10:29:41 +00:00
862427e0b2 fix for crash copying in the sequencer. 2010-07-13 09:31:28 +00:00
Dalai Felinto
37173c0cd8 Logic Editor UI: Make the Active object always the first one of the list, and have the ADD button only for it.
The reason for that is because I can't find a way to change the active object for a particular context (it may be even a bug in the rna/UI base code). So for the time being (a.k.a. for Beta) this will make it.

I actually like this solution, maybe the bug is for the good afterall.
2010-07-13 09:29:02 +00:00
291c99c5d9 - saturation option for sequencer strips, runs before multiply and color balance.
- multiply of 0.0 wasnt being applied.
2010-07-13 09:28:01 +00:00
ef76dfd591 sequencer ui tweaks & display frame position of the playhead in a strip, helpful for working out the exact frame of an avi <> exr 2010-07-13 08:20:34 +00:00
bfe11037b5 move nan mk files from source/ into build_files/make/ 2010-07-13 00:57:19 +00:00
ded8ba1d90 - more misc rna rename updates
- edited the rna_cleaner.py script to use repr() on descriptions so quotes dont result in invalid generated python scripts.
2010-07-12 23:43:14 +00:00
395d964a70 - minimum -> min, maximum -> max
- have min/max as suffix
- replace unneeded use of common suffix 'ing' and 'ness' where possible
- replace term 'brightness' for 'intensity'
2010-07-12 22:49:42 +00:00
5436008e40 rna api cleanup...
- remove 'ing' suffix
- use 'blend_type' rather then 'blend_mode' or 'blending'
2010-07-12 22:24:53 +00:00
fd560e8697 unmodified property names ready for editing (all props excluding bools) 2010-07-12 22:11:44 +00:00
64091ff5bd fix for crash when psys_get_dupli_texture() was called on a subsurf mesh with simplify enabled. 2010-07-12 20:35:10 +00:00
af06e281c0 RNA cleanup: first pass over booleans, still 380 marked as TODO. 2010-07-12 20:17:23 +00:00
d80d6e2812 re-arrange build files so scons "config" dir isnt confused with ~/.blender/2.52/config 2010-07-12 18:26:35 +00:00
3b81c67353 - presets were not being written with 'import bpy' at the start.
- attribute save_keyconfig defaulted to True when unset, not sure why, but .
- use repr() rather then str() so strings are quoted without manually checking. also converts less common chars properly \m \" etc.
2010-07-12 18:15:48 +00:00
a586541d74 tweak to color balance after talking with colin and testing other software, lift for values above 1.0 was too intense.
Use: 1 + ((lift-1) * (lift-1)) so 2.0 is still a full lift but 1.x isnt so strong.

Changed color picker to give more precission, we were having to edit the buttons to see what the numbers were.
2010-07-12 16:20:51 +00:00
a470640f2e sequencer float conversion was only using rgb -> float conversion inconsistantly, some places used colorspace conversion, some not.
Added IMB_float_from_rect_simple() for the sequencer to use.
2010-07-12 14:57:24 +00:00
731824c464 support for colorspace conversion when saving srgb float buffers (from the sequencer) as openexr. 2010-07-12 14:54:05 +00:00
9e57892b90 dont add a rect buffer for EXR's, the sequencer discards them immediately and functions that need a rect should create one on the fly.
this shows a problem with Imbuf where there is no way to ask to only load the native type byte/float.
2010-07-12 13:35:00 +00:00
44c30fbbac BGE bug #22760: VideoTexture not available when Blender is compiled without FFMPEG. VideoTexture can be used without FFMPEG, no need to disable it. 2010-07-12 13:25:57 +00:00
b9e241d3e3 error in last commit 2010-07-12 12:07:32 +00:00
ac981c08af Update MSVC project files 2010-07-12 11:37:15 +00:00
51d8c5d93f [#22824] OpenEXR Save from byte buffer bug
- Saving a typical byte buffer as an exr wasnt converting into linear colorspace.
- Remove checks for 1 and 2 channel images, these will write as RGB anyway and are very rare.
- 3 Channel images were having the alpha channel written from the red color channel, write 1.0 instead.
2010-07-12 11:28:16 +00:00
41a6602547 2.5: remove user preferences to always snap for translate/rotate/scale,
with new behavior of the snap setting in the 3d view these are no longer
necessary.
2010-07-12 11:17:42 +00:00
fa39db2441 2.5: remove armature "B-Bone Rest" option, this was only added to keep
broken behavior for backwards compatibility, it's been there long enough
now to be removed.
2010-07-12 11:04:51 +00:00
50671905d6 2.5: rename "Operator Cheat Sheet (new textblock)" to "Operator Cheat Sheet",
this is already reported after running the operator.
2010-07-12 11:02:01 +00:00
0815fd4762 2.5: remove pin floating panels settings, there are no floating panels
at the moment so it shouldn't be there.
2010-07-12 10:55:05 +00:00
2222117a37 2.5: disable toolshelf, it doesn't save its state when closing Blender and
will not be finished before release, so no point in having it there yet.
2010-07-12 10:47:41 +00:00
0a11d4c81d [#22817] Beta patch for cmake-MinGW compilation no 2
ommit FORCE CFlags, else users cant change their cflags.
2010-07-12 09:55:41 +00:00
c013974a7c set metaball limit for not drawing small scale motherballs to a 1/10th of what it was. durian blood splats were reaching this threshold.
also fix for memory leaks when the motherball is too small.
2010-07-12 08:43:49 +00:00
75a0301c7d == installation paths ==
separate define for the user and system blender directory name,
on Linux the directories should be named /usr/share/blender and ~/.blender.

Platform maintainers should still check if that's ok.
2010-07-11 16:28:28 +00:00
148ccc2f17 bugfix [#22800] Mathutil bug with vector
example wasnt updated.
2010-07-11 16:12:32 +00:00
ffcec4024b installation paths:
small fix: removed extra slash in system path
2010-07-11 15:30:32 +00:00
834f2a42ce - sequencer wasnt drawing handles, the deprecated v2d was being used which gave a pixely of -nan.
- removed bf_editors from cmake since there now split up.
2010-07-11 12:39:50 +00:00
6ef92ab52e fixed missing 'filepath' parameter in SOUND_OT_open.
Patch provided by Mitchel Stokes (moguri)
filepath was changed from not being added by default (why?), so now has to be added with flag in each operator.
I hope not many others were missed ;)
2010-07-11 09:50:23 +00:00
1a98efa426 Fixing a crash created by an earlier GLSL lighting fix for dynamic loading. When implementing the fix I forgot to check for materials that did not have a blender shader (ie, non GLSL materials). 2010-07-11 09:31:19 +00:00
4497bd3b90 Adding COMPAT_ENGINE stuff to the particle panels so that they no longer show up when using the "Blender Game" render engine.
Also, "Maximize Gain" on the sound actuator was incorrectly labeled "Minimize Gain", so I fixed it.
2010-07-11 08:48:21 +00:00
b0deed9cf8 Changed glew include from "" to <> 2010-07-11 02:30:18 +00:00
b65d0c1b11 == New VPaint ==
* Make disabling All Faces option work. This is a little different from old vpaint, but basically it just fills in whatever face is under the brush. Unlike old vpaint, all corners are filled the same way.
* Display of this feature isn't too good right now. It may look like the colors are being assigned to the wrong face, or not at all. This is just due to the way VBOs are being filled though; switching temporarily to old vpaint shows the colors are on the correct face.
2010-07-11 01:11:21 +00:00
f91f4d3176 Fix type mismatch. 2010-07-10 23:21:25 +00:00
Dalai Felinto
96a7e478b6 Logic Editor Python API: link/unlink logics through python
After initial talk with Matt (awhile ago) we realzed that rna_api would fit well for this instead of an operator.

The next step would be to move the current UI code to use the rna funcs instead.
Note: it takes the s/c/a as argument, not its name. (e.g. cont.link(actuator=act) )

Sample code to link all the logic bricks between each other:
ob = bpy.context.object
for cont in ob.game.controllers:
    for sens in ob.game.sensors:
        cont.link(sensor=sens)
    for act in ob.game.actuators:
        cont.link(actuator=act)

For a script to create bricks, link bricks, unlink bricks and remove them:
http://www.pasteall.org/14266
2010-07-10 21:15:10 +00:00
e531f3736d drawing in the timeline could change bezier keys while rendering, disable. 2010-07-10 21:09:38 +00:00
22371e8816 [#22791] Can't change keyed strip attributes if two sequencer windows open
own recent commit for overlay sequencer view brokey keyframing in the sequencer.

for now prefetch and overlay views wont have correct fcurves applied.
2010-07-10 19:17:52 +00:00
e37cbe9461 Bugfix [#22811] Dupli-Instancing for particles broken.
commit r29079 removed 2 lines that are needed for instancing particles.
2010-07-10 18:11:01 +00:00
047cc31013 patch by manaphuun on IRC. 2010-07-10 15:44:27 +00:00
49c6aab6dc Fix for [#22793] Flip normals Missingf form face specials.... 2010-07-10 11:38:40 +00:00
Nathan Letwory
ce0ff001ac Ensure that local installations (also known as portable installations) are possible again.
For user config and data files, first check the 'local' location (where the executable is located), and only then the actual user locations (whatever the convention for the OSes; $HOME, %APPDATA%, etc).
2010-07-10 11:09:26 +00:00
a6f2dec7e1 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29912:30167 2010-07-10 06:03:27 +00:00
0eadc41ad3 * VPaint brush strength works again
* Finally fixed the mesh-turns-orange problem with glColorMaterial
2010-07-10 04:48:38 +00:00
3eebaceaa6 Fix spelling. 2010-07-09 23:14:07 +00:00
5352328af0 Begin updating vpaint to use the PBVH
* Added a new flag (plus RNA/UI) to switch between old vpaint and new vpaint
* For new vpaint, draw using the PBVH. Lighting is enabled for new vpaint.
* Note that the full model is still being redrawn, partial redraw isn't enabled yet.
* For new vpaint, use the PBVH to determine which faces to paint on. Only mix brush works right now.
2010-07-09 21:27:29 +00:00
0d9a81a111 Fix #22794: problem with rendering panorama in 2.4 created files. 2010-07-09 19:20:57 +00:00
ba0bad935c Fix #22796: GLEW compile errors on FreeBSD (this time in the right branch). 2010-07-09 19:14:02 +00:00
6682dae779 Fixed bug [#22555] OSX/Cocoa: Suppress delayed mouse position changed event after setting it 2010-07-09 18:54:44 +00:00
761be67d8a allow sequencer image names to be editable 2010-07-09 13:57:59 +00:00
9772eb4d5f Audaspace:
* Renamed AUD_Handle to AUD_Channel in the C-API to prevent errors with the C++ version of AUD_Handle.
* Added Python API!!!
2010-07-09 12:35:40 +00:00
4059df91a4 == user preferences ==
- tooltips were showing numbers in the addons categories list
2010-07-09 09:46:22 +00:00
5460994095 Audaspace:
* Comment fix for PingPongFactory
* Added 2 new factory types: Superpose and Double
2010-07-09 08:56:25 +00:00
7f63460a44 - Active bezier points could be drawn twice
- Unselected handles shouldn't have TH_LASTSEL_POINT color even if
  control point is active
2010-07-09 07:53:06 +00:00
Dalai Felinto
1f019c23fd Logic Editor UI: move s/c/a operators and interface buttons
Tchatcharantcharan ...

Three new operators:
bpy.ops.logic.sensor_move
bpy.ops.logic.controller_move
bpy.ops.logic.actuator_move
direction is a parameter (UP,DOWN)

Moved some interface code to sca.c instead of logic_window.c. (and changed accordingly).
One note: as in 2.49, the move up/down button is only available in non-expanded mode. However instead of one button with two options we have 2 buttons (as we had originally in 2.50).

That also means the s/c/a header is getting more clunky. Design, thoughts, ideas are appreciated. For the time been functionality back is still the priority (mine at least ;)
2010-07-09 00:14:46 +00:00
7ef6b5cdfd filebrowser
* filebrowser now should respect User Preference for using relative paths
* Also set remap_relative default to 'True' for saving .blend file
(With 'hide dot files' set and 'relative paths' set in the User Preferences this should now behave as in the suggestion made by brecht - in the future we could remove the user preference and just use the default.)
2010-07-08 22:07:34 +00:00
24f63b2081 New option for Scale node.
This is because problem reported by venomgfx on the irc.
If you have a render of 2k with a render size of 25% (and this
problem is for any resolution/size) and you try to use a image
of 1k in the compo, the first thing you do is put a scale node.

Here come the problem, if you set the option "Scene Size" in the
node scale, the buffer output is not the same size that the render.

This is because the "Scene size" work with the image size and
not the render size, so in this case is the 25% of 1k.. not
the 25% 2k.

So this new option "Render Size" scale the output buffer to the
render resolution, taking into account the render size (percentage) too.
2010-07-08 20:58:34 +00:00
a9050083fe Fix Texture node don't take care render size.
The texture node was not taking into account the precentage of the
render when create the output buffer.

Reported by venomgfx at irc.
2010-07-08 19:29:41 +00:00
3cef95cd93 Fix for ipo conversion on file transition in the game engine. 2010-07-08 17:47:46 +00:00
ce8942ddff Merging revision 29560:30125 from trunk. 2010-07-08 17:31:43 +00:00
b441a22bc8 fix for crash if image names are too long in adding image strips to the sequencer. 2010-07-08 17:00:06 +00:00
aff6b6885f added imports to templates 2010-07-08 16:24:24 +00:00
90e1119619 import bpy needed for presets now 2010-07-08 16:10:14 +00:00
258955394b Fix: object_duplilist should be passed the original scene rather than
the set scene, otherwise can have wrong current frame and render settings,
in particular this give issues with particle object instancing.
2010-07-08 15:07:35 +00:00
6fcacf077d - duplicating a scene now duplicates all strips (not just selected ones)
- python change, dont import 'bpy' by default, initially I thaught this would make scripting easier but it ends up being annoying when you want to register a script or if you want to import it. (more trouble then its worth to save 1 line, also not very pythonic).
2010-07-08 14:30:43 +00:00
6feea7e2c3 Shift+O to toggle overlay 2010-07-08 14:01:48 +00:00
b511fbea6d Sequencer display overlay option, this can show a border area from another time to help compare for color grading.
- Okey sets the border in the display.
- Okey resets the frame offset in the sequencer timeline.
- ghost icon in the header can enable/disable.
- frame offset can be relative or absolute (lock icon)

Not very happy that this commit adds a call to BKE_animsys_evaluate_animdata(scene, ...) in do_build_seq_array_recursively()
without this the offset frames dont have fcurves applied.
Though we will need something like this for prefetch frames to work too.
2010-07-08 10:03:29 +00:00
Dalai Felinto
ff51a96d58 Logic UI: small commit - set visible flag for sensor and actuator (so it works with the move logic bricks operator to be committed) 2010-07-08 09:25:18 +00:00
Dalai Felinto
779368fd45 Logic UI: fix for #Motion Actuator Dynamic options not showing for Soft Body and Rigid Body (reported by Mal Duffin (malCanDo) over email)
Originally (2.49) we were testing for ob->game_flag to see if the object is dynamic.
That could work here (it would require a new rna prop for the object (a read-only is_dynamic) or similar.
However using ob.game.physics_type is more explicit, therefore may be more interesting. I have no strong opinions on that...
2010-07-08 06:49:08 +00:00
Nathan Letwory
a797e81e31 === Windows installer ===
* cleanup link section for Start Menu
2010-07-08 06:16:08 +00:00
7167f3b75a Some more changes for improving non-sculpt paint modes:
• Add face customdata to the pbvh
• Return more data from BLI_pbvh_node_get_faces
• Add some drawing flags for the pbvh/VBO drawing code
• Some initial support for drawing mesh colors (not used yet)
• Abstracted sculpt's get_location a bit so it can be used for other types of paint strokes
• Moved and renamed unproject_brush_radius so other paint modes can use it
• There should be no visible changes from this commit
2010-07-07 22:55:57 +00:00
8514290319 Some preparation for accelerating other paint modes than sculpt
* Replaced Object.sculpt with Object.paint. This new PaintSession type for now just contains the PBVH so it can be built more or less the same for different paint modes. It also contains the old SculptSession data.
* Removed a couple of unused fields from SculptSession.
* Changed a lot of sculpt functions to pass around the Object rather than SculptSession; made sense anyway because we added an Object field to SculptSession to work around that problem.
* There should be no visible changes from this commit.
2010-07-07 19:11:55 +00:00
c689e46ff3 Fix #22340: sintel appears in seemingly random poses on load.
Pose proxy synchronization happened after drivers were already evaluated,
now moved to start of object_handle_update.
2010-07-07 18:47:49 +00:00
356a8697f2 Nodes:
* Tooltips for the Blur Node
2010-07-07 18:39:08 +00:00
6e60e57723 Fix for bug #22763, Blender 2.52 Crashes with the default scene when in weight paint mode clicking the Levels option
* Add a `return 0' to ED_vgroup_give_parray to avoid falling through from mesh to lattice
2010-07-07 17:32:50 +00:00
1ff98fb454 Fix #21540: depsgraph problem on load, meshes on non-visible layers
were not created when objects on visible layers depended on them, now
it uses the flushed layer to determine if the object data should be
recalculated.
2010-07-07 17:08:20 +00:00
6debe0fcf6 fix for duplicating metastrips, unique names and animation data. 2010-07-07 16:37:41 +00:00
9ab34c36ed Fix #22776: merge and remove doubles don't recalculate normals. 2010-07-07 16:23:38 +00:00
e8be069870 duplicating a sequence strip now duplicates its fcurves 2010-07-07 16:17:18 +00:00
f65c15cd5a Fix #22772: remove unnecessary -fpascal-strings flag on OS X, only
some debug code in webplugin needed it.
2010-07-07 15:26:02 +00:00
efb58cdab9 Fix #22219: compile error with videotexture/libavutil and recent gcc,
need __STDC_CONSTANT_MACROS defined.
2010-07-07 15:24:06 +00:00
be1846bcf6 fix for numeric problems for color balance in the sequencer (same check as in compositor).
for optimized builds this gave crazy colors.
2010-07-07 15:06:57 +00:00
358738c1aa Fix #22354, #22727, #22501: image window not display correct
renders with compositing and slots.
2010-07-07 14:28:22 +00:00
8476d5a2b3 Constraint UI:
* Some code cleaning.
* Removed icon and emboss for the "enabled" bool, use default checkbox now.
2010-07-07 14:10:41 +00:00
ed1de5d276 dont swap strip names when swapping strips, means they keep their fcurves 2010-07-07 13:14:51 +00:00
Nathan Letwory
ccf35e0a68 remove unused files. 2010-07-07 12:50:24 +00:00
Nathan Letwory
120d49cf27 === Windows Installer ===
* have nice image also in uninstaller
* ensure we can remove start menu links
2010-07-07 12:46:39 +00:00
c468f94f53 fix mingw compile
- seems to have been conflicting #defines for INT, solved by moving #include up
2010-07-06 20:31:55 +00:00
ea183b58d3 Fixed bug [#22757] : hide dock and menu on OSX only when Blender window is maximized to fullscreen on the primary monitor 2010-07-06 19:59:37 +00:00
e64f3dd4d5 File/installation paths: fix path of startup.blend for OSX
Also fix the header file no reinclusion macro name

Thanks to Jens Verwiebe for the patch
2010-07-06 19:42:06 +00:00
cfc35a4d30 Bring back "Sort Faces" command.
This was the old Ctrl + FKEY in object mode, now it's in
edit mode and is part of the Ctrl + FKEY menu (Faces).

I also assing this to the Ctrl + Alt + FKEY, but Matt please
check this and feel free to change (or tell me and I will change).

Still there is no "reverse" function, but I commit now to finish
in my home.
2010-07-06 19:26:38 +00:00
0d8e1abff5 selected_sequences wasnt working right, added 'sequences' property to the context 2010-07-06 18:07:10 +00:00
228ba56579 metaball outlines were drawing with Render Override enabled. 2010-07-06 17:10:02 +00:00
2a95a246ed color balance can now be animated in the sequencer. 2010-07-06 16:44:05 +00:00
577cd54c8e use normal mouse speed for the color wheel unless shift is pressed. 2010-07-06 16:40:56 +00:00
Nathan Letwory
ca5de1ea33 === Windows Installer ===
Make sure for win64 version of Blender that we set default install dir to $PROGRAMFILES64
and keep win32 version to $PROGRAMFILES32.

Reported on Graphicall.org by Robroy
2010-07-06 16:39:40 +00:00
a0e1221472 complain if running with py2 2010-07-06 14:30:31 +00:00
513c8738ce == rna cleanup ==
small fixes adnm tentative new keywords
those discussed by campbell and brecht are still there, but commented
with these keywords I'm happy how booleans went, committing to discuss with cambpell
2010-07-06 13:56:50 +00:00
d6ae565247 fix for crash on active camera poll (from own recent commit) 2010-07-06 11:50:59 +00:00
137e53064c Revert revision 29735:
Fix #22051: crash when scaling parent metaball. Keep the constant resolution
for any motherball's scale.

This avoids running out of memory when scaling the metaball down, but there's
a reason it depends on this scaling, for example for instancing it's more
useful to have this. It also doesn't really solve the problem but only moves it,
it's still possible to run out of memory with different setups/scales.
2010-07-06 11:44:45 +00:00
8049f9066c library tooltip for outliner icons 2010-07-06 11:14:35 +00:00
ca252e39f5 Correction to recent color balance compositor and sequencer changes.
- In my changes lift was acting like a second gamma.
- In blender 2.4x it was being added which gave ugly clipping.
- in Magic Bullet Looks it scales the color about 1.0: (col - 1 * (2-lift)) + 1

Did more testing and made sure the order of applying lift/gamma/gain works the same as MagicBulletLooks (tested on Collin's mac laptop).
2010-07-06 10:21:28 +00:00
Nathan Letwory
f38511cbed === Windows Installer ===
* add info about bitness: 32bit, 64bit or mingw-build
2010-07-06 09:19:52 +00:00
Nathan Letwory
b0cee52ecc Waste less memory ;) 2010-07-06 09:15:33 +00:00
Nathan Letwory
f655911c91 === Windows Installer ===
* Proper deletion of install dir - everything under it will be gone
* Ask if config/userdata can be removed and act accordingly. If selected, everything under user/config dir (BLENDERHOME) will be gone.
* The installer now will automatically update vc runtime

To be able to properly create an installer, you need:
- NSIS, and the MoreInfo plugin for NSIS. Make sure NSIS is in your path
- Set in your user-config.py BF_VCREDIST full path to the redist you have.

Note: this works only with SCons.
2010-07-06 09:13:10 +00:00
Nathan Letwory
bb626c3963 give an actually existing buffer instead of potential NULL 2010-07-06 06:43:21 +00:00
Nathan Letwory
d37bae5bd1 committed one file too many 2010-07-06 05:24:18 +00:00
d9f86e3c73 pedantic pep8 warnings, mostly white space. 2010-07-05 22:22:22 +00:00
4926667018 change the range for sequencer lift/gamma/gain to be 2.0 max 2010-07-05 21:43:46 +00:00
dd724f2826 File/installation paths: osx (cocoa & carbon) update in ghost 2010-07-05 19:59:37 +00:00
Nathan Letwory
78adaa6bc7 * use blender_decimal_version() in places where '.blender/' was still being used
* simplify the NSIS file creation (and add those files back).

NOTE: The installer is still pretty much WIP, tomorrow more improvements.
2010-07-05 19:59:27 +00:00
59b8f8d18c Fix #21201: double click didn't use the original mouse position, now
it stores it and sets it later when the double click event is handled.

Decided to not reuse prevx but made prevclickx, because there may be
multiple mousemoves between the two clicks, and prevx is already used
for some other tricky things.
2010-07-05 16:42:42 +00:00
e738c731c2 Fix #21917: add object operator has 30 layers, now the layer property
has just 20 and the local view layers are added afterwards.
2010-07-05 16:20:52 +00:00
deb7402299 option for color wheel widget to make it easier to select values closer to white, enable for color balance. 2010-07-05 15:52:25 +00:00
aea7ea5b30 recent commit broke invert option for sequencer lift. 2010-07-05 14:53:11 +00:00
63335f2d10 Fix Makefile for new getUserDir system. 2010-07-05 14:32:15 +00:00
b1cdc52b30 Color Balance Node
changes from sequencer applied to compositor mostly noticable is how the lift works.

Before & After,
http://www.graphicall.org/ftp/ideasman42/color_balance_before_after.png

even with lower values these kinds of errors can be seen.
2010-07-05 14:29:16 +00:00
d89d1aa098 Fix #21992: linked objects could be in edit/particle/paint/sculpt mode,
not allowed, so disable mode on append and don't enable it on load.
2010-07-05 13:14:14 +00:00
feefb4d2d2 Fix #22694: rendering exits editmode. Problem was due to incorrect fix for
bug #20091 in revision 24989, crash when rendering in metaball editmode.
2010-07-05 12:52:47 +00:00
efeb8148c8 Fix #22213: applying deform modifier in front of multires modifier crashes,
should not do multires reshape in this case, but just regular apply.
2010-07-05 12:20:49 +00:00
5bacd2df29 Fix #22666: linked data lights lag during transform in GLSL mode.
Actually a depsgraph issue, transforming objects was incorrectly
tagging their data for recalculation.
2010-07-05 11:52:54 +00:00
052ab934aa Fix #20383: mesh deform modifier wasn't working on lattices. 2010-07-05 11:48:13 +00:00
Nathan Letwory
462d889720 another fix for osx scons 2010-07-05 10:32:14 +00:00
c9f667a92e texture saturation option.
we'll need a do-version bump soon or this will convert 0.0 saturation to 1.0 on load.
2010-07-05 10:18:59 +00:00
0f58a4c798 when making a metastrip use active strip for the channel when available. 2010-07-05 10:12:24 +00:00
58778d41e2 Color Balance
- color_balance_float_float wasnt using the new calculation method
- moved calculation into an inline function color_balance_fl() & made the lift adjustments less confusing.
2010-07-05 09:56:06 +00:00
Nathan Letwory
49b13c5385 Brainfart cleanup. 2010-07-05 09:33:17 +00:00
51e74c26f7 Fix #22189: fields rendering crashes. 2010-07-05 09:31:24 +00:00
d9e9aa1e4d changes to color wheel commit.
- use a flag rather then a2 for locking color.
- remove float from button added for color wheel size, use a2 instead.
- holding shift on the color wheel gives higher precission.
2010-07-05 07:08:10 +00:00
Nathan Letwory
1c35121213 == SCons ==
Updated to comply with datafiles filepath patch.

I've tried to do some changes for OSX too, but I'm not sure if they're correct,
so OSX people, please test and report.
2010-07-05 07:06:19 +00:00
b5043c7dd5 Fixed case of letters in CHECKCXXSOURCECOMPILES in cmake macro TEST_SSE_SUPPORT
Should be CheckCXXSourceCompiles to work fine in linux
2010-07-05 06:32:29 +00:00
2e0f477510 Experimental feature, multires apply base, as suggested by renderdemon
* Attempts to fix the "spike" problem with multires
* For example, take the grab brush and pulling a large chunk of the mesh around will create ugly spikes at lower levels
* Another problem is that a multires mesh heavily changed in sculpt mode will still have the original shape in editmode, which might not be very useful
* Solution here is a new operator "Apply Base" that modifies the mesh to conform better to the sculpt multires mesh.
* Like applying the modifier, this changes actual mesh data, not disps
* Some attempt is made to avoid shrinking the base mesh too much, but the algorithm used is just my guess based on how catmull clark behaves
* So far as I know there are no published algorithms for correctly reversing catmull clark when the subdivided mesh has been deformed
2010-07-05 06:28:53 +00:00
7aca4eec4b compile fix, another missed semicolon - blush 2010-07-05 06:04:24 +00:00
05eb72ff14 Bugfix #22030: Animation Editors and Layer Animation
Added new filtering option for animation editors (indicated as the 'ghost' toggle beside the 'select'(-ed only) toggle), which will include objects/bones that aren't visible (i.e. are hidden or on a hidden layer). 

This should make it possible to edit such types of animation, and also prevent flickering as these channels come in/out of view.
2010-07-05 04:37:30 +00:00
faf1c9a4bb Bugfix #22685: Screen update slow, animation player ALT-A, files created with 2.4x
Modifiers were being mistakenly recalculated at every frame as long as the object had animation, slowing things down due to incorrect depsgraph recalc tags.

Renamed OB_RECALC -> OB_RECALC_ALL to reduce future confusion. During this process, I noticed a few dubious usages of OB_RECALC, so it's best to use this commit as a guide of places to check on. Apart from the place responsible for this bug, I haven't changed any OB_RECALC -> OB_RECALC_OB/DATA in case that introduces more unforseen bugs now, making it more difficult to track the problems later (rename + value change can be confusing to identify the genuine typos).
2010-07-05 03:55:28 +00:00
02b0188c16 #22736: request - adjust windows' corner handles
I've tweaked the contrast of the corner widgets to be a little bit more contrasty and seem a bit more tactile by making the lines fade out from brighter bands to dimmer bands. 

Hopefully this will make them more easily discernable without being too loud.
2010-07-05 03:02:57 +00:00
0a62388bfb Bugfix #22584: Long Keyframes not working
This was broken by a bad (unfinished/unused) case, which stopped them from being created properly in most cases.
2010-07-05 02:00:24 +00:00
8c042f779f Bugfix #19221: Layer animation not working
Now object layers and scene-base layers are now always synced. In 2.4x, they were only synced if there was animation for layers, but it's probably not worth checking for this these days...

Finally we can close this bug report :)
2010-07-05 01:11:25 +00:00
fe6dfa52e9 Compile fix for r29954. He probably missed a file in the commit. 2010-07-05 00:48:57 +00:00
9c4e3a7b6b bugfix [#22724] "Scene" switch on the console doesn't work 2010-07-05 00:00:40 +00:00
a824220d3e better errors for failier to read blends 2010-07-04 23:26:55 +00:00
66a72343ef fix for building with cmake 2010-07-04 22:43:51 +00:00
ef3f967baf fix for building 2010-07-04 22:35:09 +00:00
f3638488c3 Add missing ";". 2010-07-04 21:36:48 +00:00
646ee52d3a SVN maintenance. 2010-07-04 21:33:01 +00:00
4135f1310c Patch [#22339] File/installation paths changes
Update after discussions on IRC:
* operating system specific path retrieval is moved back to GHOST, nothing blender specific here though
* cleaned up path functions a bit to remove #ifdefs
* removed Cocoa from blenlib again

TODO:
* Matt, Damien, please check and correct the functions for Cocoa and Carbon, could only put back existing code but needs adjustment
* finish GHOST_getBinaryDir - this should replace the BLI_where_am_i eventually as well as BLI_getInstallationPath on Windows and get_install_dir for the blenderplayer runtime
* It would probably be nice to define GHOST_getTempDir as well and move those out
* more cleanups...

NOTE:
Things are likely broken for macs
2010-07-04 21:14:59 +00:00
83a2a4e5b8 Improvements to Blenders color balance (lift/gamma/gain).
Fairly closely match some mac application colin has called 'Looks', to give better results.
- lift is now applied non linear (was being added to the color)
- change the color wheel to preserve the luminance of the gamma and gain values, this stops the color from being set too dark (option for the color wheel template).
- sub-pixel precission for the color wheel since the white area at the center can make a lot of difference with a very small change.

This change will make existing node and sequencer setups lift render slighly differently however discussed this with Ton and he's ok with it.
2010-07-04 20:59:10 +00:00
8f825bd460 Fix #21062 and #22175: crash with node previews being calculated while
editing nodes. Now preview jobs are killed before making any node edits.
2010-07-04 19:58:52 +00:00
6c0f3d052e Detect SSE building support with cmake, and moved setting the defines
out of the render mode cmake file into the main one. Should fix PPC
compile, and hopefully not break others.
2010-07-04 18:40:59 +00:00
effefdc9fa Fix #22432: unrenderable objects cast shadow in GLSL. Committing
patch by Matt, I only reviewed it.
2010-07-04 17:22:24 +00:00
15de21e438 fix for 2 bugs in own recent commits,
- 29881 broke BLI_stringdec in some cases.
- poll function for view home crashed view menu because the rv3d isnt available (still needs fixing).
2010-07-04 17:14:06 +00:00
574d307635 fairly sure this is a typo, matt/elubie please check 2010-07-04 16:47:58 +00:00
ce832cac03 SVN maintenance. 2010-07-04 16:47:35 +00:00
790491b0f0 Fix for paths commit from Andrea:
For Mac, there was no code supporting Carbon. Added a stubs function
to make it compile, but it doesn't work yet properly.
2010-07-04 16:34:24 +00:00
cc68f45502 Fix cmake/OSX build after path changes. 2010-07-04 16:20:42 +00:00
05d2b904b2 remove unused var warnings in linux 2010-07-04 15:52:32 +00:00
ca81aa704e Patch [#22339] File/installation paths changes
Patch Tracker: http://projects.blender.org/tracker/?func=detail&aid=22339&group_id=9&atid=127

This patch implements the proposal outlined here:
http://wiki.blender.org/index.php/Dev:2.5/Source/Installation/Proposal

Original patch by Matt Ebb.
Contributions by Nathan Letwory, Damien Plisson and Andrea Weikert

NOTE:
This is a work in progress commit, some work still needs to be done on the SCons and CMake files for this to work properly, but at least should compile and the files should be created in the right directory.

Commit discussed on IRC with Ton and Campbell.
2010-07-04 15:35:23 +00:00
3ca7b160a6 Fix #22028: rendering from 3d view was OR-ing with scene render layers,
this isn't helpful, so just use 3d view layers.
2010-07-04 12:26:46 +00:00
90162cb0cb Fix #21894: backface selection wasn't working correct with < 24 bits colors,
e.g. thousands of colors on OS X, due to use of uninitialized value. Problem
tracked down and patch provided by Shane Ambler, thanks!
2010-07-04 12:24:19 +00:00
ace570cb10 Fix for 15-day-old bug causing crashes when loading old 2.49 files, especially those with animation.
Reverting 29563 ("* Moved do_versions_ipos_to_animato from blender.c to readfile.c, where it should be.") part to the original version that (so far) is guaranteed to work fine. 

While this means that "nice software design" isn't obeyed once again, this works and the other approach doesn't. So far there really isn't anything really obviously different between the approaches, even after trying a few different placements of the version patches within the file-reading internals.
2010-07-04 12:16:01 +00:00
f9933b2fee commenting group timeoffset since it causes groups objects to recalculate modifiers etc. constantly even when animation isnt playing. 2010-07-04 11:56:31 +00:00
8aa0f9b033 last fix still could give corrupt sound, rather then updating the sound info just add and remove the sound handle. 2010-07-04 10:51:10 +00:00
4a6cc10d75 swap strip data wasnt updating sounds 2010-07-04 10:22:31 +00:00
8e97e561a9 convenience functionality for browse button (requested by Colin for the sequence editor, useful for managing files for the final edit)
- Holding Alt while clocking on the browse button opens a file browser with the containing dir.
- Holding Shift opens the file its self in the default application.

obscure but at least theres a tooltip so its not totally hidden.
2010-07-04 10:02:30 +00:00
ce94f52dbc Fix for [#22714] Constraints stack : move up and move down buttons problem
* Constraint template now uses 2 rows as well, when the area width is small. 
* UI Code could use some code/layout cleanup still, will look into that soon.
2010-07-04 09:42:00 +00:00
db4d317f6b 'Copy To Selected' (right click menu item) now works for sequence strips, useful for copying blend modes & opacity 2010-07-04 09:13:00 +00:00
5553f66eb7 sequencer
- effects strips now add directly above the strips they operate on (almost always what you want)
- blend mode for new image/movie/scene/color strips is now cross: without this adjusting alpha will fade to black rather then the strip below.
- SEQ_HAS_PATH macro didnt include sound-ram or sound-hd
- meta drawing code has misleading variable names (from own commit).
2010-07-04 08:49:54 +00:00
48e04c1f84 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29790:29912 2010-07-04 02:08:39 +00:00
c7869f9f85 - draw sequence strips within metastrips using their real start/end and channel positions.
- dont show color balance unless its enabled.
2010-07-04 01:56:04 +00:00
281902d6ee sequencer re-assign inputs back 2010-07-03 22:25:22 +00:00
6e5a436f56 == Sequencer ==
This fixes:
[#22722] Removing a sequence strip doesnt remove assosiated fcurves

by using the same hack that is used for moving curve-data along with the 
strips on grab.

Should be cleaned up (both functions!) by making sequencer-strips 
finally true IDs.

Until that happens, there is only an more or less ugly way of doing 
that.
2010-07-03 21:13:08 +00:00
c9627f7883 home key to center the camera offset. 2010-07-03 20:47:03 +00:00
bc95714528 disable ref-counting for groups. groups work differently where they are only removed on load if they include no objects.
this was causing groups to be removed by rna if a group's field was cleared and the file was saved (even when it was used elsewhere).
2010-07-03 19:06:49 +00:00
80f6102629 better reporting for file i/o failier, use system error message in more places: Permission Denied, No space left, File not found etc.
- blend load/save uses os message.
- image load gives os message. (remove check for slash at end of line, just let the os report an error)
- python api load image/font/text raise errors with message (was just retuning None for image and font)
- minor edits to py api errors.
2010-07-03 17:47:06 +00:00
9a85435e96 rna api:
rename object.matrix --> matrix_world
added object.matrix_local (parent relative matrix)
2010-07-03 17:39:29 +00:00
7a495a12e1 Fix for layer restoring with duplis, could be wrong sometimes
when there with multiple instances and recursion.
2010-07-03 17:19:44 +00:00
37b4e2af77 cmake: disable openexr if its not found (rather then throwing an error) 2010-07-03 15:03:13 +00:00
0b939f9ea7 WM_operator_props_popup was calling ED_undo_push_op() which is also called by wm_operator_finished.
This made new image operator and seperate image sequence call ED_undo_push_op() twice.
Tested with move to layer and python select pattern operators and it works ok.

including backtraces for the double calls just incase.

# first
#2  0x00000000009ff4c4 in ED_undo_push_op (C=0x20e1098, op=0x3ea13a8) at /media/data/blender_ideasman42/blender_trunk/source/blender/editors/util/undo.c:187
#3  0x00000000008b5fa1 in WM_operator_props_popup (C=0x20e1098, op=0x3ea13a8, event=0x3ea0d28) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_operators.c:1032
#4  0x00000000008be6be in wm_operator_invoke (C=0x20e1098, ot=0x2408bd8, event=0x3ea0d28, properties=0x3e943d8, reports=0x0) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:613
#5  0x00000000008bfa44 in wm_handler_operator_call (C=0x20e1098, handlers=0x25509a0, handler=0x25cb658, event=0x3ea0d28, properties=0x3e943d8) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:1158

# second
#2  0x00000000009ff4c4 in ED_undo_push_op (C=0x20e1098, op=0x3ea13a8) at /media/data/blender_ideasman42/blender_trunk/source/blender/editors/util/undo.c:187
#3  0x00000000008bde8e in wm_operator_finished (C=0x20e1098, op=0x3ea13a8, repeat=0) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:439
#4  0x00000000008be82a in wm_operator_invoke (C=0x20e1098, ot=0x2408bd8, event=0x3ea0d28, properties=0x3e943d8, reports=0x0) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:640
#5  0x00000000008bfa44 in wm_handler_operator_call (C=0x20e1098, handlers=0x25509a0, handler=0x25cb658, event=0x3ea0d28, properties=0x3e943d8) at /media/data/blender_ideasman42/blender_trunk/source/blender/windowmanager/intern/wm_event_system.c:1158
2010-07-03 12:55:03 +00:00
d79a2c6f0e OSX scons : disable build with lcms by default until scons scripts are updated to take into account lcms include and lib paths different from /usr
I've released this scons scripts update as patch #22723, for it to be checked for no adverse effects on other platforms.
2010-07-03 12:11:05 +00:00
ec770b7538 OSX: CMake and scons default settings updated to allow build with LCMS lib 2010-07-03 10:01:41 +00:00
e34405e64a * Added DNA/RNA/UI for enabling and disabling mask layers. 2010-07-03 07:07:54 +00:00
9ba3a1827f Added a new mask operator to create a mask from a texture.
* Moved get_texture value out of MOD_util and into BKE texture
* Added a new pbvh function similar to get_grids but for faces
* The new operator should work for ORCO and UV mapping
* UI is just a new menu item in the drop-down menu next to the texture slots list
* Also fixed a crash in the mask_set operator where sculpt's PBVH wasn't updated
2010-07-03 06:34:07 +00:00
3c822fb348 * Fixed masks not updating after undo 2010-07-03 05:31:06 +00:00
de3dc33494 render override was still showing game physics bounds 2010-07-02 20:46:29 +00:00
15be7b215f - changes to the sequencer so new strips use the data name.
- removed the name option for the sequence operators.
2010-07-02 20:09:42 +00:00
7f32239475 Make mask opacity actually do something; I had forgotten to update the PBVH iterator to take mask opacity into account. 2010-07-02 18:18:11 +00:00
213a45bed8 changes to file selector so 'directory' property from an operator is used when available.
also made some other changes to the path functions used.
2010-07-02 17:44:57 +00:00
643ec7a12f Fix #22690: gestures were not working correct after inbetween mousemove
changes, also forgot to update armature sketching operator.
2010-07-02 11:26:12 +00:00
6bdc4c72d4 revert previous auto-naming change for meta elements,
broke the name-based grouping.
2010-07-02 03:11:10 +00:00
77d68836f4 Made mask layer's opacity adjustable.
* Added a new "strength" field to CustomDataLayer, set to 1 by default.
* Added RNA for strength; the update function is ugly, commented in the file
* Added a slider control to adjust strength
2010-07-02 01:29:10 +00:00
cccf56b0cf Some cleanups and optimizations for masks:
* Mesh/grid VBO buffers can now be updated separately for coord/normal data and mask data
* Added a typedef for GPU_Buffers so we don't have the void* cast
* Changed the PBVH update to allow separate updating of mask data
* Fixed a memory leak for the mask_set operator
2010-07-02 00:38:04 +00:00
49b8bb6f7f Fix new zoom in/out values for nodes in old files.
The problem was a missing update to the ARegion and the
first space, that is why old file don't get the
new zoom in/out values.
2010-07-01 19:29:27 +00:00
51fd10a1b5 adding image strips wasnt working, use the 'directory' component of the file selector rather then the full 'filepath' to fix this.
added flags for filename/filepath/directory args to WM_operator_properties_filesel().
2010-07-01 19:28:45 +00:00
93bdba9b21 Fix for crash with PBVH in background mode, patch by Campbell. 2010-07-01 15:12:10 +00:00
6cc4160df9 adding a new sequence strip uses the active strips path when available. 2010-07-01 14:08:41 +00:00
742c4eb1d1 enable external pointcache for smoke in the UI. 2010-07-01 13:25:49 +00:00
0fa0d12ff0 fix for building with WITH_RAYOPTIMIZATION 2010-07-01 13:21:40 +00:00
7c859b305f fix for use of uninitialized memory with opengl render. 2010-07-01 11:58:48 +00:00
3a47839a31 == rna cleanup ==
- fixed a bug: it wasn't updating checks when importing from py file
- removed the global input_filename, I didn't like it very much
2010-07-01 10:52:15 +00:00
bd4d743db9 * Made sculpt drawing respect the "use VBO" preference.
* Hopefully this fixes some sculpt problems for people with broken drivers
2010-06-30 19:35:08 +00:00
b1414eb7a1 * Moved subsurf grid stuff into it's own header file
* Changed gridkey in CCGSubsurf to not be dynamically allocated
* Fixes at least one small memory leak
2010-06-30 18:16:52 +00:00
df56d40339 OpenMP multithreading for the defocus node. Reason: defocus can take 16x
longer on a 4k render than on a 2k render (due to O(n^2) scaling).
2010-06-30 15:15:31 +00:00
6ff10f00d4 Bugfix: effector weights were not copied when copying particle settings. 2010-06-30 14:43:28 +00:00
7f3b7c07af bugfix [#22702] Camera lense animation not updating 2010-06-30 09:53:40 +00:00
6adc681227 Finish fixing [#22653] Dimensions not update on curve 2010-06-30 05:03:41 +00:00
0d5b688746 Fix [#22643] Renderging Crash. 2.5 2010-06-30 04:09:58 +00:00
a35680a3e0 [#22699] "--" fails to stop processing cmd line arguments (incl. patch)
Thanks Matt
2010-06-30 03:19:28 +00:00
f6dabd51c9 Fix for [#22667] Soft Body Aero on/off switch
Under guidance from Jens, converted the 'aero' property into a two-way switch, 
which is what it actually represents.
2010-06-30 02:34:34 +00:00
f7f44696ba ui glitch fix [#22667] 2010-06-29 22:30:55 +00:00
35dd09a9ef add alpha option for new images (operator and function) 2010-06-29 22:07:27 +00:00
c0bb3303f4 move edits from rna_api_cleanup.txt into rna_booleans.txt which can be parsed. 2010-06-29 21:23:28 +00:00
e7d78649cb == rna cleanup ==
Re-introducing the modification made by Cambpell yesterday [rev., I copied the file over and forgot to restore this.
Sorry for the noise :)
2010-06-29 17:23:48 +00:00
a7fb2aba9d svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29583:29790 2010-06-29 16:55:04 +00:00
fab7671d20 Fixed bug #22686, Screw modifier VBO-related crash
* Problem was calling setDrawOptions even if there was no original face index to use
2010-06-29 15:56:05 +00:00
854da3194e Fixed paint masks + multires going into and out of editmode; wasn't setting the right number of grid elements when copying face grids. 2010-06-29 15:38:19 +00:00
0795d1cccb image re-projection wasnt changing alpha values. 2010-06-29 13:20:11 +00:00
f48556f236 Fix [#22355] Spin Tool crashes Blender on Click'n'Drag Steps
Spin tool steps property had no softmin/softmax (set to INT_MAX), and without continuous grab on, the number field dragging code would jump up to ridiculously high numbers.

Added a reasonable soft max for spin, and also added some protection to the button dragging code to prevent the drag increments from getting too high.

Probably need to doublecheck other op property softmaxes as well.
2010-06-29 12:33:25 +00:00
3c1e97d1ff == rna cleanup ==
- rna_api.py now doesn't have work parameters anymore (note, changes, keyword-check)
- header implementation fixed
- removed 3 unuseful/already commented lines
- renamed a function
2010-06-29 12:13:29 +00:00
7b09e47dc4 Added name to object color in object properties. Kinda misleading
without it
2010-06-29 05:02:51 +00:00
443e61c096 Fixed uninitialized variable. 2010-06-29 03:06:59 +00:00
2358843670 Multires+mask bugfixes:
* Crash when changing modes from sculptmode
* Crash when adding multires modifier on a mesh that already has paintmask layers
* Smooth brush eating holes in a mesh without a paintmask layer
2010-06-28 21:12:32 +00:00
926f94252d fix for crash when loading files that had the animtimer set. 2010-06-28 18:40:17 +00:00
3166136da7 update from discussion with brecht. 2010-06-28 16:52:57 +00:00
a726793507 default to global space for point density cache space. 2010-06-28 16:37:50 +00:00
d404974809 flip button for color ramps (durian request), these should be done as operators in a menu with copy/paste. added own todo. 2010-06-28 16:07:21 +00:00
b082401e88 == rna cleanup script ==
- new folder rna_cleanup/
- moved na_api_cleanup.txt in rna_cleanup/
- rna_cleaner.py is a script to help cleaning rna names, pasting the help below for those interested

Basically after you run this on a original file, the script produces 2 file .txt and .py that you can edit.
You can skip to edit things liek "changed" or "same" or check if the "to" field is correct or not.
When you re-run this script it will check these thigns and will produce a consistent output file again.

Also, you can sort lines at will.

$ ./rna_cleaner.py -h

HELP:
Run this script to re-format the edits you make in the input file.
Do quick modification to important fields like 'to' and don't care about fields like 'changed' or 'description' and save.
The script outputs 3 files:
   1) *_clean.txt: is formatted same as the .txt input, can be edited by user.
   2) *_clean.py: is formatted same as the .py input, can be edited by user.
   3) rna_api.py is not formatted for readability and go under complete check. Can be used for rna cleanup.


USAGE:
./rna_cleaner.py input-file (.txt|.py) order-priority (note|changed|class|from|to|kw).
./rna_cleaner.py -h for help
2010-06-28 15:29:18 +00:00
abf095e975 rna renaming: showonly/useonly to show_only/use_only 2010-06-28 12:42:42 +00:00
5fce637c7f rna renaming: some simple consistency tweaks 2010-06-28 12:41:16 +00:00
4b0ab39571 rna suggested names:
position -> location
 maximum/minimum -> max/min
2010-06-28 12:25:28 +00:00
2d377a99a5 WIP draft for rna renaming, brecht will go over this next. 2010-06-28 12:10:40 +00:00
8517a7a3cd Fix #20965: metaballs partticles and volume material crash rendering
Fix #21187: 2.5svn26947 - particles + meta sphere = crash in rendering

Use separated displists for mballs in view3d and render stuff.
Do not recalculate displist for view3d while rendering - mball.c
uses several global variables which shouldn't be accepted from
parallel threads.
2010-06-28 11:07:02 +00:00
aae952be1f Fix [#22669] Packing a .wav used in a LB crashes Blender 2010-06-28 00:11:28 +00:00
1a6b9ea5d9 == python api docs ==
- properties are now listed on alphabetical order
- readonly properties use "data" directive, so that we see them in green in the web docs
  example (after Campbell will rebuild the docs):
  http://www.blender.org/documentation/250PythonDoc/bpy.types.RenderLayer.html
  (note that green attributes still need final CSS-ing, but smerch is a bit busy atm)
- fixed indentation in http://www.blender.org/documentation/250PythonDoc/bpy.data.html
2010-06-28 00:06:23 +00:00
a52632182c [#22682] some missing keymaps
Added proportional influence up/down to transform modal keymap.

Also fixed a crash in restoring to previous key map item after edits.
2010-06-27 23:57:58 +00:00
32f83b91a4 Partial fix for [#22666] TWO BUGS of LIGHT
fixed: number 1- can't link light data by using control+l "object data"

cleaned up code a bit here too
2010-06-27 23:18:04 +00:00
5cc2e136ec nicer alignment for preset UI 2010-06-27 21:35:31 +00:00
d9bcd249cf remove some warnings 2010-06-27 21:03:39 +00:00
1a59eb21a9 align menu text to the left when displayed in a panel. 2010-06-27 19:10:36 +00:00
003d69f9d4 use expanded enum for addons to give faster access (matches theme layout) 2010-06-27 19:04:44 +00:00
768ecb1ba9 api reference docs: include bpy.data in the main page since its used everywhere.
since this isnt a module its self its a little odd to do this but toctree cant make arbitrary cross-references.

Also added some usage examples: http://www.blender.org/documentation/250PythonDoc/bpy.data.html
2010-06-27 18:34:27 +00:00
650de24271 Recalculate motherball when metaball is deleting 2010-06-27 12:45:09 +00:00
3262dfdadd Fix #22051: crash when scaling parent metaball
Keep the constant resolution for any motherball's scale
2010-06-27 08:35:27 +00:00
e86c5cf9ea Fix [#22564] Object name by object type
Restored auto-naming newly created objects by type, for Mesh, Lamp, Meta
2010-06-27 07:45:57 +00:00
ce7d768934 Fix [#22675] Dupli tool
Tweaked operator poll functions
2010-06-27 06:15:36 +00:00
03fa4bb999 Partial cleanup of timing system, with some guidance from Joshua:
* Fractional frames support has been changed to use a new var, scene->r.subframe. 
This is a 0.0-1.0 float representing a subframe interval, used in generating a final float 
frame number to evaluate animation system etc.
* Changed frame_to_float() and some instances of bsystem_time() into a convenience function:
float BKE_curframe(scene) which retrieves the floating point current frame, after subframe
and frame length corrections.
* Removed blur_offs and field_offs globals. These are now stored in render, used to 
generate a scene->r.subframe before render database processing.
2010-06-27 05:39:55 +00:00
ea4e5a08cd script to create a man page from blenders --help text, replaced the hand edited man page with this. 2010-06-27 00:33:12 +00:00
bb07503d89 remove filename and directory from python operators that dont need them 2010-06-26 22:32:47 +00:00
0d84ac375e more generic sorting of theme items by type (was adding all non color items last) 2010-06-26 22:23:54 +00:00
4eba521903 Set button emboss to false a few more places where it makes sense, such as disclosure triangles and panel closing X icons. 2010-06-26 21:40:11 +00:00
f6eed88a78 - changed recent commit from William to have enum in user preferences as an expanded enum (like it was before)
- rename 'no_bg' argument to 'emboss' (and negated)
- added 'emboss' option for operator buttons.
- Addon UI Layout slight modifications, changed enable/disable buttons for checkbox, grey out text of disabled addons to make it obvious at a glance whats enabled.
- column expanded enums now align text to the left.
- renamed ui_item_enum_row to ui_item_enum_expand since its used for columns and rows.
2010-06-26 20:00:45 +00:00
ebde8a7ccc new notifier for FRAME_RANGE, use to recalculate the timeline scrollbar range. 2010-06-26 19:17:48 +00:00
942ebd6558 Patch by Oenvoyage: Lamp specials menu was context insensitive,
displaying lamp properties regardless of type hence causing errors. Now
active object controls what properties to display. Still it's possible to
manage multiple mixed lamps types at once. Also added useful items for
cameras and empties
2010-06-26 19:00:44 +00:00
5ce214a06f object color property in the object UI panel 2010-06-26 17:46:14 +00:00
1c362019cd minor changes to Williams commit to be a bit less verbose. 2010-06-26 17:24:01 +00:00
7ad1491fce alpha drawing for color picker, move alpha button into the picker. 2010-06-26 17:12:55 +00:00
bd03f26c3a Updated Themes user preference pane.
Layout is now simpler, more easy to scan. This commit also simplifies the Python code and gets rid of hundreds of wasted lines of code, making it much easier to make layout changes.
2010-06-26 17:06:55 +00:00
aba62b1797 fix for crash running the file load operator in background mode:
bpy.ops.wm.open_mainfile(filepath="some.blend")
2010-06-26 13:24:52 +00:00
892851f787 file operator cleanup
* the default properties of the file operator now only contain the "filepath", which means only the complete path to a file is returned.
* "filename" and "directory" has been added to the link/append operator - the only place it was used.
* sequence operators still work on the "files", which was custom property passed to the file operator anyway.
* have tested sequence loading, image loading and append/link - please report if there are any issues
2010-06-26 08:53:29 +00:00
54e6fc1519 remove math and m module names from python driver namespace. (all math functions are merged into the local namespace) 2010-06-25 21:24:59 +00:00
c2db42adaa bugfix where animated image texture's lagged one frame when used with modifiers.
call animated texture update before evaluating modifiers.
2010-06-25 12:28:35 +00:00
f3ffb22598 error in fix for ID property copy 2010-06-25 12:17:35 +00:00
9e87433ef2 error in last commit 2010-06-25 12:13:29 +00:00
7b36b2ebbb - duplicating a scene now duplicates its sequence strips too.
- bugfix for copying a scene with FFMPEG properties set (wasnt copying the ID properties, could crash blender)
- relative path option for adding sequence strips and replaceing images.
2010-06-25 12:04:04 +00:00
044a20821b extend command line argument for rendering the current frame
blender --background some.blend --render-frame 1 # renders frame 1
 blender --background some.blend --render-frame +0 # renders the first frame
 blender --background some.blend --render-frame -1 # renders the last frame
2010-06-25 11:56:12 +00:00
85ffe7e9ba opengl render wasnt updating animated images textures 2010-06-25 11:53:52 +00:00
29b402f376 Fix #22618: Deleting an object doesnt remove its self from pinned buttons
Clear pin flag and pin ID in unlink_object if pinid points to unlinking object
2010-06-25 11:41:39 +00:00
bfb9ef7ee9 bpy.props.StringProperty()'s maxlen arg was off by 1 since it included the null terminator for C strings. 2010-06-24 21:28:33 +00:00
49db2d18b2 Disable rayoptimization again on MinGW, it crashes. 2010-06-24 18:12:59 +00:00
61d16219da Attempt to fix compiling SSE detection on 32 bit linux. 2010-06-24 18:05:51 +00:00
93238c3a3d Runtime detection of SSE support for raytracing. Also enabled rayoptimization
by default now on all platforms since it shouldn't crash anymore if SSE is
not there. If this breaks compilation on some platforms, please let me know.
2010-06-24 15:54:01 +00:00
4c81019823 Move some sequencer functions about, no functional changes.
- Remove SEQ_DESEL, better not have a flag which includes ~, use ~SEQ_ALLSEL instead.
- Rename recurs_dupli_seq -> seqbase_dupli_recursive
- Rename deep_dupli_seq -> seq_dupli_recursive
2010-06-24 10:04:18 +00:00
Dalai Felinto
51170fdee3 Logic UI: small fixes
1) "Actuators" menu wasn't working (it was showing the sensors one)
2) s/c/a top menus (the one showing options to hide/show objects and logics) with a big space.
- To have those options like this sounds a bit like a legacy, but for the time being at least, let's make it better :)
3) not show the s/c/a common header when object not visible
2010-06-24 04:52:28 +00:00
848b944baa Added undo pushes for the mask_set operator. Also removed a bunch of old crufty declarations in sculpt_intern.h. 2010-06-24 00:53:11 +00:00
a1b8ce5f42 Enabled multiple paint mask layers for both regular and multires meshes.
* Iteration over vertices in the PBVH now has two mask components, the active mask, which is editable by the mask brush, and the combined mask, which adds all the mask layers together (clamped to [0,1]), and is used to mask off other brushes
* Layer adds and removes are handled by the paint undo system used in sculpt mode
* Added a new customdata function that adds a layer at an offset (into other layers of its type.)
2010-06-23 23:29:35 +00:00
f507428d11 Fix #22553: dragging number buttons would run update functions more often than
necessary due to the more accurate mouse move events that are useful for
sculpting and painting (at least on Linux/X11, not sure about other platforms).
If the update function takes a while to run, this in turn causes more mouse
move events to be accumulated, making things even slower, .. going into a spiral
of slower and slower redraws.

As a solution I've added a INBETWEEN_MOUSEMOVE event next to MOUSEMOVE. A
MOUSEMOVE event is automatically changed to INBETWEEN_MOUSEMOVE when a
MOUSEMOVE event is added after it. This new event type is only handled by
painting/sculpting operators, everything else can happily ignore it.
2010-06-23 18:47:56 +00:00
5b9059e2bd Compile fix for changes in "filldisplist" function. 2010-06-23 17:40:17 +00:00
4e39133970 Fix #21370: VBO does not display material colors in textured solid. 2010-06-23 16:35:42 +00:00
4596588fe8 - avoid divide by zero with node progress
- write_crash_blend() was writing to the original path.
2010-06-23 15:07:20 +00:00
989cca1434 Fix #21369: normals on extruded text and curve objects were flipped
for the backside, giving problems with e.g. boolean operations.
2010-06-23 13:18:50 +00:00
4e851ac670 Fix crash when rendering with output to full screen and the mouse
cursor not over any area, e.g. on the border between two areas.
2010-06-23 12:41:38 +00:00
46d28a5e8d Sculpt+shape keys:
- Sculpting on the basis key should change original mesh
- For relative keys sculpting on basis key should update others
2010-06-23 12:27:13 +00:00
08b5e5a492 fix for rare crash when a material is set in the outliner for an object with no material bits. 2010-06-23 11:46:58 +00:00
992a4e8e7a Fix a crash when failing to read .tga files in some cases. 2010-06-23 10:24:35 +00:00
2567129e7f Converting a mesh into a mesh (alt-c), was broken with shape keys and modifiers that changed the vertex count.
removal of the shape key was undone in DM_to_mesh().
2010-06-23 10:18:51 +00:00
16b15961a8 Fix #21470: changing brush settings redraws the 3d view unecessarily,
added ED_region_tag_redraw_overlay to only redo overlay drawing, which
in case of triple buffer is much faster.
2010-06-23 09:58:32 +00:00
d200243a5c Fix #22654: Converted curve from mesh disappearing
Curve object should have ob->bb=NULL if there is no derivedMesh
2010-06-23 09:58:02 +00:00
ee14cc198b fix for timeline drawing with new cache visualization.
memcpy buffer overrun when the first frame wasnt 0.
2010-06-23 08:18:14 +00:00
Dalai Felinto
5215e410c6 Logic UI: small change: make pin always visible (disable sometimes instead of hiding)
I still think we could use a more compact header for the non-expanded mode (ala 2.49). To be addressed later
2010-06-23 06:09:30 +00:00
ceac8d0fed Change to file output compositor node -
Now it only outputs files when rendering, otherwise, it overwrites the output files
whenever the compositor updates (i.e. just scrubbing through the timeline )
2010-06-23 03:42:19 +00:00
ba16b24262 Added back full scene motion blur 'shutter' parameter (was 'Bf' in 2.49) 2010-06-23 03:20:57 +00:00
5ed7699e85 mathutils.RotationMatrix
Angles are in radians. Doc and example should reflect reality
2010-06-23 02:42:39 +00:00
8a6ea2584d Small update to text boxes UI. It now works in single-column layout. 2010-06-22 21:31:26 +00:00
e10bf2bc09 Fix #22642: NURBS surfaces doesnt display
Fix #22587: Invisible Nurbs Suface

There was a small bug with determinating if new object should be created
and for surfeces new OB_CURVE object had been created (instead of OB_SURF).

Removed unused function and enum, which were used by nurbs surface
create old oprator
2010-06-22 21:11:13 +00:00
df76cebb8a == Sequencer ==
Removed "frame_locked"-flag from sequencer completely, since it doesn't 
work any more in Blender 2.5. (All IPOs are frame-locked now anyways.)
2010-06-22 21:09:50 +00:00
86de9694ff ffmpeg was computing the frame length of avis via doubles, but was
not properly ceiling them, sometimes resulting in truncation errors.

(merge from render25 branch, commit with revision 28901 by Joe)
2010-06-22 18:18:42 +00:00
c28aec9ae1 Fix #22589: pressing subdivide or updating displacements after sculpting
on multire would unnecessarily subdivide vertex groups and other layers,
making the operation slower than necessary.
2010-06-22 16:46:13 +00:00
f3a2d24d8f Fix Bug [#22640] Center Cursor doesn't cause 3D window update in empty scene
The viewhome operator forget tag the region for redraw when no object
is in the scene and only move the cursor.
2010-06-22 15:46:15 +00:00
30a7c6d281 Merge a few small blenlib changes from the render25 branch:
* define for missing hypotf on msvc.
* svd_m4 and pseudoinverse_m4_m4 functions.
* small tweak to perlin noise, use static function instead of macro.
* BLI_linklist_find and BLI_linklist_insert_after functions.
* MALWAYS_INLINE define to force inlining.
2010-06-22 15:20:06 +00:00
ed28a0296f BLI_init_threads/BLI_end_threads with NULL listbase now raises thread level
and enables mutex protection on MEM_* functions, useful when you want to call
these functions from an OpenMP thread.

(merge from render25 branch)
2010-06-22 15:17:12 +00:00
c45c6a20a4 Update build systems for automatic weighting changes.
(merge from render25 branch)
2010-06-22 15:12:00 +00:00
cb8f2bd1ab Armature weighting / mesh deform no longer use render raytracing
acceleration structure but BVH instead.

(merge from render25 branch)
2010-06-22 15:10:57 +00:00
e0368d31a5 Enabled openmp multithreading for multires/subsurf again, but only
if there are >= 1 million faces estimated in the resulting mesh.

(merge from render25 branch)
2010-06-22 15:09:41 +00:00
844274c27a Don't evaluate displace modifier with strength 0, avoids multires
subdividing vertex group here in some cases.

(merge from render25 branch)
2010-06-22 15:08:39 +00:00
c0be8ee8cb Fix crash cancelling render while building object instance in
raytree, object could still be added after it was already freed.

(merge from render25 branch)
2010-06-22 15:04:03 +00:00
50a8d1803b Make hair particles also support drawing their number next
to them, previously this only worked for regular particles.

(merge from render25 branch)
2010-06-22 15:02:23 +00:00
096c4ddea4 error in last commit 2010-06-22 14:27:04 +00:00
657f745130 recent commit with timeline cache was crashing on opening files. 2010-06-22 14:10:45 +00:00
24be7abab6 rename sequence.length -> frame_length_final
added sequence.frame_length to get the original length of the strip
2010-06-22 13:45:21 +00:00
8bc1e44e33 slight cleaning of texture type changing functionality, done while working on other stuff today 2010-06-22 09:13:30 +00:00
2849201339 hopefully fix some flickering in timeline cache display 2010-06-22 09:12:22 +00:00
eeed68a20f utility function to save blend's from a crash (from gdb run this)
p write_crash_blend()

Which will save the current blend name with _crash prefix.
2010-06-22 08:38:12 +00:00
a25357bbbc Tweak for previous color management notifier tweak - works fine here with just ND_RENDER_OPTIONS 2010-06-22 02:35:05 +00:00
1d6c2f214b Timeline addition: Display cached frames
This started off doing pointcache debugging but it's also very useful for users too.
Previously it was very hard to see the state of the system when you're working caches
such as physics point cache - is it baked? which frames are cached? is it out of date?

Now, for better feedback, cached frames are drawn for the active object at the bottom 
of the timeline - a semitransparent area shows the entire cache extents, and more 
solid blocks on top show the frames that are cached. Darker versions indicate it's 
using a disk cache.

It can be disabled in general in the timeline View -> Caches menu, or by each individual
system that can be shown.

There's still a bit to do on this, behaviour needs to be clarified still eg. deciding what
shows when it's out of date, or when it's been played back but not cached, etc. etc. 
Part of this is due to a lack of definition in the point cache system itself, so we should
try and clean up/clarify this behaviour and what it means to users, at the same time.

Also would be interested in extending this to other caches such as fluid cache, 
sequencer memory cache etc. in the future, too.
2010-06-22 02:29:52 +00:00
6a1d8d8e04 Origin button in the toolshelf
Minipatch to add the Origin button in the Toolshelf in the Transform section.
I missed this because
1) it was called "center" in 2.4 and it's difficult to find just searching if you don't know it's "origin"
2) it was in the the object » transform menu, not very practical to use often
Discussed with Gensher, Campbell and Matt before committing :)
2010-06-22 00:08:05 +00:00
91deffc429 Added ability to add and remove text boxes back from Blender 2.4x. One on those small things missing. 2010-06-21 23:20:44 +00:00
df6e5aeafc SVN maintenance. 2010-06-21 22:16:13 +00:00
4bade8e137 sequence.swap(other) rna function. 2010-06-21 22:05:34 +00:00
425da6206f [#22262] Sculpting shape keys using the Smooth brush switches the shape to the Basis
PBVH used the same verts array as mesh data and shape key/reference key coords
were applying on the mesh data, so on some refreshing undeformed mesh was
displayed.
Added utility functions to get vert coords from key block, apply new vert coords
on keyblock and function to apply coords on bpvh, so now pbvh uses it's ovn
vertex array and no changes are making to the mesh data.

Additional change:
Store key block name in SculptUndoNode, so now shape wouldn't be copied to
wrong keyblock on undo
2010-06-21 20:10:59 +00:00
0dbfec0adc More changes in prepping for mask layers:
* Reversed direction of mask strength
* Changed subsurf_make_derived_from_derived to take a gridkey parameter, or NULL for the default key (just coords + normals)
2010-06-21 19:46:23 +00:00
72d21c35ad sequencer swap data operator.
needed for durian so we can swap out preview AVI's for EXR sequences.
2010-06-21 17:37:50 +00:00
Dalai Felinto
3f4121cea5 Logic UI: Pin option for sensor and actuators (from 2.49)
- implemented the old functionality of pin a sensor or actuator when "show state" is on.
- fixed code for setting/resetting VISIBLE and LINKED flags for sensors and actuators
(so states buttons is working for actuators and sensors)
- move the flag setting code (^^^) to a pre-processing part of the logic ui code.
2010-06-21 07:51:40 +00:00
c783060f35 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29453:29583 2010-06-21 05:37:12 +00:00
78d3793d31 netrender
Save and Restore master from disk.

When the "clear on exit" option is off, write a data file (blender_master.data) in the master's path on exit and reads it back on load.

Note: Jobs and Slaves lists are restored, but not balancer settings (problem with the pickle module).
2010-06-20 20:33:59 +00:00
be8a2de393 * Small fix for Color management RNA. 3D View didn't update on enabling/disabling Color Management. ND_SHADING > ND_SHADING_DRAW
Note: "ND_RENDER_OPTIONS" should trigger the update in the 3D View (as the 3D View listener listens to that) but that doesn't work for some reason.
2010-06-20 19:02:26 +00:00
07f2354524 * Added paint mask mask to editmode mask so it's not destroyed when going into editmode. 2010-06-20 18:55:31 +00:00
d07b5501df * Added mesh rna for paint masks
* Added operators to add/remove paint mask layers
* Added UI to select paint mask layer and add/remove

Note that this commit doesn't include the code for actually using multiple layers in sculpt mode.
2010-06-20 17:42:24 +00:00
ed08eb6132 * Added/clarified some comments in customdata, make it clearer what some of the layer accessor functions do. 2010-06-20 01:13:17 +00:00
e73938d51f * Changed a couple mesh functions to make them public within the editors module 2010-06-19 23:54:22 +00:00
e8e7b42535 * Change default mask layer name to "Mask". 2010-06-19 23:37:12 +00:00
62ffe63045 etch-a-ton bugfix
Add Convert operator and button (missing in 2.5)
Fix stroke selection (uneeded separate operator and missing redraw)
Map sketch operators to LEFTMOUSE and RIGHTMOUSE instead of SELECTMOUSE AND ACTIONMOUSE (more in line with other sketching operators, might work better with swapped mouse buttons)
2010-06-19 20:25:00 +00:00
801beadc52 Unhide constraint axis and orientation operator properties.
They are not just internal param, tweaking them later is not unconceivable.
2010-06-19 20:18:43 +00:00
f50714a64b minor edit to speed up api property name editing. 2010-06-19 12:11:40 +00:00
0ecae611f9 rna info module now prints out property names into the console when run directly 2010-06-19 12:06:34 +00:00
229b7639e7 Merged revision 29562 from /branches/soc-2010-nexyon. 2010-06-19 10:50:23 +00:00
7019089dca * New users_logic property for Texts to find out which texts are used in a GE logic brick.
* Fixed a bug in KX_ObjectActuator where the fuzzy flags weren't updated when setting properties from within python.
* Moved do_versions_ipos_to_animato from blender.c to readfile.c, where it should be.
* Fixed a bug on file transitions with the GE when files have different FPS settings.
2010-06-19 10:47:24 +00:00
aa02d71a71 Recreating my GSoC branch. 2010-06-19 10:32:41 +00:00
99bbc90266 Deleting my GSoC branch to recreate it. 2010-06-19 10:31:47 +00:00
615af47559 Fix #22621 Alt-A toggles panel expand collapse
Patch by John Carpenter

The expand/collapse command don't filter the Alt
modifier and make problem with the animation
shortuct (atl+a).
2010-06-18 20:19:24 +00:00
000d23e05c Fix #22625
My fix for #22317 make that every time you delete an object,
blender go to perspective view, fixed now.
2010-06-18 15:23:39 +00:00
fe3d388af2 Changes to scene updating with set scenes.
The most useful effect of this is that set scenes can take the simplify settings from the current scene (render team doesnt have to worry about animators simplify settings).

details...
- updating on frame change now passes the parent scene to object update function. (this was alredy happening for updating tagged objects)
- set scenes objects update first so scenes can depend on set objects however this only happened at once level, now set scenes are updated recursively, so deepest level is updated first.
- collision objects used to only look through the current scene, now set objects are included.
2010-06-18 14:14:13 +00:00
61b0a5bdb5 Fix for [#22410] Texture force field doesn't depend on empty location (patch by Matt Ebb) 2010-06-18 11:36:51 +00:00
e4c9381f14 Fix for [#22479] Hair is left our when moving emitter unless Hair Dynamics is set on 2010-06-18 11:34:45 +00:00
c6b7b8a485 Fixing some warnings for glew in space_view3d when building with CMake. GLEW_STATIC needed to be defined; it was already defined for SCons. 2010-06-18 08:22:05 +00:00
0aef0d2538 Raise the default report popup severity to errors only (not warnings).
All reports still get displayed in header.
2010-06-18 05:18:46 +00:00
bfd0810beb Notifier cleanup - replaced ND_*_EDIT and ND_*_SELECT data notifiers
with the generic action equivalents (NA_EDITED and new NA_SELECTED)
2010-06-18 04:39:32 +00:00
d8301f9053 * Changed gridkey to be a struct rather than an int. Has fields for the total number of each type it contains (types currently being coords, masks, normals.)
* This is a step towards having multiple layers of coords or masks.
* Should be no visible change in behavior from this commit.
2010-06-18 03:28:27 +00:00
557f0525ea Added sintax coloring for None 2010-06-17 20:56:36 +00:00
8c031f22b9 fix for fcurve doubles not being removed when moving more then one selected points in the graph editor.
The bug could be redone with 3 points, 2 selected dragged onto the unselected.

looping backwards fixes this.
2010-06-17 19:33:27 +00:00
e41e138301 rather then naming new actions "Action", use the id name with an action prefix.
avoids having 100's of Action.XXX in a file.
2010-06-17 15:28:40 +00:00
1cb7dc55b4 sequencer numpad keys for zoom levels 2010-06-17 14:22:54 +00:00
a7386bf986 fix for crash with opengl sequencer strips that dont have a camera 2010-06-17 14:22:13 +00:00
Dalai Felinto
038e674cdd Logics ops: add s/c/a can now be called with an object parameter (e.g. bpy.ops.logic.controller_add_exec(name="name", object="non_active_object")
If no parameter is passed it uses the active object.

To do: make logic_window set "active object" in context before calling add s/c/a operator
So far I tried this before uiItemMenuEnumO(row, "LOGIC_OT_controller_add", "type", "Add Controller", 0); :

+RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ob_ptr);
+uiLayoutSetContextPointer(row, "object", &ob_ptr);

Not working though :) (not committed either). to be investigated.
2010-06-17 08:42:15 +00:00
Dalai Felinto
3d562ddaa9 logic ops: accepting no object as argument into "remove s/c/a" operators (uses the active object in those cases) 2010-06-17 07:33:57 +00:00
3173232bfa Fix [#22610] Alpha problem with textureswhen Brightness > 1 or Contrast < 1
* Enabled premultiplication for packed images
* Added pack/unpack operator to image template
* Moved brightness/contrast corrections to after de-premultiplication in image texture sampling
2010-06-17 07:20:12 +00:00
Dalai Felinto
a8f6a198a6 Logic ops: uncommenting + fix remove ops to use full RNA code :)
The problem here was that it as passing Object *ob, while it should be Object **ob. Otherwise you can't change where the pointer is pointing to.
2010-06-17 06:34:11 +00:00
888691bc81 Added undo for masks in sculpt. 2010-06-17 06:19:07 +00:00
Dalai Felinto
57826238bf fixing warning from previous commit (rna_controller) 2010-06-17 04:31:02 +00:00
55064b567c Bugfix: sculpting along the boundary between hidden areas and unhidden areas on a multires could leave cracks when things were unhidden. Fixed with a call to stitch grids. 2010-06-17 03:56:15 +00:00
3398d901a1 Revert changes back to original state, before 29506. 2010-06-17 03:29:16 +00:00
ed59822857 == SoC Bullet - Bullet Upgrade to 2.76 ==
Updated Blender's Bullet to 2.76 in this branch only.

This update was done by:
1) deleting the contents of the existing extern/bullet2/src directory (leaving the .svn folder in place),
2) copy/pasting the contents of the bullet/src directory (from unzipped Bullet archive) into this newly cleared folder. 

Hopefully there aren't any patches that are still needed from the Bullet we had in source.

---

Note: I didn't use Moguri's patch, since that was giving me compile errors with headers not being able to be found.

[[Split portion of a mixed commit.]]
2010-06-17 02:42:43 +00:00
22bca493b2 == addons ==
- release/scripts/ui/space_userpref.py
  added the change to add a 'warning' field to bl_addon_info
  warning icons are used to show 'broken' scripts or warnings 
  asked permission to campbell and matt in blendercoders to apply this

- source/blender/python/doc/sphinx_doc_gen.py:
  small fix in the url
2010-06-17 02:38:49 +00:00
c992b9d9e5 Several bug fixes:
* Added layerFree_grid to fix leaked memory when freeing CD_FACEGRID
* Added layerCopy_grid to fix copying a multires mesh and having masks not transfer over
* Added writing for CD_PAINTMASK layer
* Added writing and reading for CD_FACEGRID
2010-06-17 02:11:00 +00:00
08a94f9bbd BGE: When dynamically loading scenes (bge.logic.LibLoad()) in GLSL mode, the lights in the loaded scene would not affect the current scene and vice versa. To fix this, I've updated to merge code to update the scenes that the shaders are using to the scene being merged into. 2010-06-16 19:07:20 +00:00
dd3513e362 Fix Bug #22324
Blender crashes when wiring an image input to an image output in the
compositor (not the same image)

The string to keep the full path was usign FILE_MAXDIR, when
has to be both, FILE_MAXDIR + FILE_MAXFILE (240, like FILE_MAX).
2010-06-16 16:42:40 +00:00
e748969fd9 request from William, twice as close camera zoom limit 2010-06-16 12:55:49 +00:00
aeb9c44461 A bad assignment was causing the VideoTexture to set off a breakpoint when being initialized in debug mode. (Benoit gave the go ahead for this fix) 2010-06-16 08:36:18 +00:00
Dalai Felinto
6a70a6bee2 Logic UI: partial implementation of state per controller
Adding two rna properties: state and state_number

For scripting "state_number" (integer) makes more sense while "state" (boolean/array) may be needed for the UI.
So far the UI is only showing the state number (using Label). Still have to decide how is the better way to "change the state".

If we don't need "state" (as boolean) for the UI, we can have only the integer one and rename it to "state".

+ some cosmetic changes (renamed ob "states" to "visible states")

ps.: 2 goals == 2 commits... let's see if I can keep that ratio until the middle of July ...
2010-06-16 08:29:40 +00:00
Dalai Felinto
bc8e0c0f93 Partial fix for [#22574] Logic Panel missing buttons (when selecting multiple objects)
This commit allows you to see the Logic Bricks for multiple objects at once. It still will only add s/c/a for the active object.

@Matt,
currently "LOGIC_OT_controller_add" uses the active object. That's good for the operator to work in scripts, however for the UI we need something different.
Ideally I would like to pass the object as an (optional) parameter to the operator. Not sure if it's possible.

The solution in 2.49 looks too "2.50 incompatible". In there ob->scaflag is set to be retrieve later by "do_logic_buts". Smart but too hacky imho.
2010-06-16 06:20:56 +00:00
2c23650ce7 Brought back hiding parts of the mesh in sculpt mode in proper 2.5-style. (No more ugly reordering of mesh elements leading to mesh corruption!)
UI changes:
* Ctrl+Alt brings up a border select you can hide a rectangular area of the mesh with.
* Ctrl+Shift is the same, but hides the area outside of the rectangle.
* Clicking without dragging while holding either Ctrl+Alt or Ctrl+Shift will re-show hidden areas.
* Added these three operations to the Sculpt menu.

Hiding areas is done by rebuilding the PBVH and excluding primitives based on whether their AABB intersects the user-selected areas. Note that for multires meshes, the primitives are grids, not faces, so if you are bad and use multires on a plain cube, there are only 6*4 grids that can be hidden.

TODO:
* Applying multires temporarily shows hidden areas. Once you start sculpting they hide themselves again. Same for turning off display of multires modifier.
* Going to multires level zero also shows hidden areas improperly.
2010-06-16 04:55:06 +00:00
449569812d soft body
text label correction
2010-06-16 00:42:18 +00:00
6058dd6c68 Compositor 'free unused' option wasn't working at all, it was referring to the same property
as renderer 'free texture images' flag. Ouch.
2010-06-15 21:51:15 +00:00
a648a4699f scale option was only working for panoramic cameras 2010-06-15 21:46:02 +00:00
bb7062abcb bugfix [#22581]
- on instances last hit optimization was jumping to the last hit face
 inside an instance without doing space transformation.

Fixed by making last hit optimization jump to the root node of the instance
instead of the last hit face.
2010-06-15 20:00:01 +00:00
3e3d2b7a4c ifdef disable X11 mouse grab, it locks up the system for artists too often (whenever blender locks up). 2010-06-15 17:40:31 +00:00
42ab9ed59a New Scene now has the popup from 2.4x which gives the option to copy.
Added some test code for rna_info to create a big list of property+type+descriptions, useful for api name review.
2010-06-15 17:14:21 +00:00
982cd944a4 Got the okay from Nathan to commit this: It's a small patch for Win32 Ghost that prevents a Blender window from setting the cursor position when it's not the active window. 2010-06-15 17:12:21 +00:00
927aac74ab - module for reading blend start/end frames and scene name (useful for finding the total frame count without loading a blend file)
- added render api as unstable to the docs.
2010-06-15 12:06:30 +00:00
9a5e5033a2 Fix for crash on bpy.ops.curve.vertex_add/bpy.ops.curve.extrude
Removed view3d_operator_needs_opengl from addvert_Nurb, which is unneeded here
2010-06-15 09:55:54 +00:00
7b0bda22e1 soft body
disable edge collision for bezier handles
because of massive pointlessness
2010-06-15 09:47:37 +00:00
8d3a5a8b0a == python api docs ==
* source/blender/python/doc/sphinx_doc_gen.py:

  changed the "undocumented" message so that it still links to
  http://wiki.blender.org/index.php/Dev:2.5/Py/API/Documentation/Contribute
  but uses flags in the url to help documenting.

  Example: http://www.blender.org/documentation/250PythonDoc/bpy.ops.node.html#bpy.ops.node.link
  click on "contribute", the new section has title "bpy.ops.node.link" and a howto message is shown
  
* source/blender/python/intern/bpy.c:

  fixed a typo
2010-06-15 02:06:01 +00:00
ab41296461 'Fix' [#22591] Sun Lamp Sky / Atmosphere settings not rendering properly
Turbidity values below 2.0 give weird results, made 2.0 the default soft minimum.
2010-06-15 01:28:17 +00:00
148cca898b sofbody beziers may work nicer 2010-06-14 23:56:12 +00:00
51d0d0b895 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29389:29453 2010-06-14 19:14:21 +00:00
8faa11a9e6 separate loose parts was hanging on hidden verts 2010-06-14 16:58:31 +00:00
69cb2cc37b adding curve and mesh objects through python would create the object without assigning it to any layers.
now initialize from the scene (when the value is unset), and throw an error when the value is set to all false.
2010-06-14 15:39:50 +00:00
08c4725a13 workaround for crash when notifiers cause a scene update at the same time rendering starts.
happens when changing frame and pressing render quickly on a slow scene.

for now ignore animation updates while rendering.
2010-06-14 15:02:16 +00:00
a2461a01c9 change to recent commit, insert_keyframe(datapath -> data_path ...)
made region width and height unsigned
2010-06-14 12:36:28 +00:00
80daebbdaa Small hack just for my branch to get mesh VBOs working right with my drivers, which don't like glNormalPointer to use GL_SHORT for some reason. 2010-06-14 11:19:10 +00:00
6a0365f59c - option for redraw timer to playback the animation
- py utility property group.users_dupli_group
2010-06-14 10:33:26 +00:00
329277bcfe Update interaction preset for property renaming 2010-06-14 08:47:58 +00:00
69a7807790 restored old 'uv orco' for curves, renamed to 'map along length' 2010-06-14 07:43:45 +00:00
a775843b11 Use per-object icons in animation editor channel regions
makes it a bit easier to distinguish what you're looking for
2010-06-14 07:27:07 +00:00
ff56197362 Don't draw nodes that are out of the view
speeds up node editor fairly considerably on a complex comp
2010-06-14 07:02:11 +00:00
c2f36a4d6a naming changes
path -> filepath (for rna and operators, as agreed on with elubie)
 path -> data_path (for windowmanager context functions, this was alredy used in many places)
2010-06-14 03:52:10 +00:00
aa97b4362b bugfix [#22427] settings bpy.context.active_object gives wrong message. 2010-06-14 02:05:37 +00:00
374d3a6685 bugfix [#21748] KX_Object scaling property not "writing" vector access .:. e.g. obj.scaling[2] = 2.0
- made worldspace readonly
- mathutils 'set' callbacks can now set their own error
2010-06-14 01:41:43 +00:00
a262847298 remove remaining unused yafray settings. 2010-06-14 01:03:48 +00:00
271a553ed5 remove unused yafray lamp settings 2010-06-14 00:24:42 +00:00
4ee8d74680 bugfix [#22573] image pack isn't working right
own fault with recent commit to stop packing of generated images, now this works as expected.
2010-06-14 00:10:11 +00:00
262cfb59d3 solidify rim material option, use the next material slot for rim faces.
a bit arbitrary but with most cases where solidify is used in durian we get UV texture stretching since there is no way to access the newly created size faces this gives us a way to switch out the material on the rim.
2010-06-13 13:56:13 +00:00
e7dd562095 Made Add Surface Operator more atomic, now each primitive has own operator, but calling the same function with different flags.
So they can me used in macros, and addons can use the menu  now, hope to see some very nice surface plugins
2010-06-13 05:48:21 +00:00
b26a23786d Fixed bug ##22580, 'All Edges' display doesn't work unless enter & exit edit mode for mesh
* Pass the appropriate mesh flag into dm->drawEdges
* Added the object and draw update notifiers to the RNA property
2010-06-13 02:54:55 +00:00
95b9e4171e use utility functions for vertex groups, no functional changes 2010-06-13 00:11:42 +00:00
32ce3e3433 Change couple of strings.
Clearly mention SVN version being built and more direct POVRay error.
2010-06-12 23:09:01 +00:00
971e4be108 modify my last commit to fix [#22486] add_actuator crashes when name is bigger than 32 chars
Throwing an exception if the strings too long means scripts need to be aware of string lengths and changing a string length in RNA can too easily break scripts.
Instead honor the string length in RNA_property_string_set()
2010-06-12 17:30:21 +00:00
c3c6fb2de2 bugfix [#22486] add_actuator crashes when name is bigger than 32 chars
have pyrna raise an error on strings that are too long.
2010-06-12 15:49:01 +00:00
33b624cb5f [#22307] Camera Fly Mode Rolls Camera on local Z-axis
z-roll was enabled by default, also made rotate less sensitive.
2010-06-11 23:25:38 +00:00
bb0b596711 adding TODO comment 2010-06-11 23:05:43 +00:00
dba99b544b == python api docs ==
* source/gameengine/PyDoc/bge.types.rst:
  KX_PolygonMaterial was missing the parent class indication (PyObjectPlus)

* source/blender/python/doc/sphinx_doc_gen.py:
  * unified all the "undocumented" descriptions, like
    http://www.blender.org/documentation/250PythonDoc/bpy.ops.anim.html#bpy.ops.anim.keyframe_delete_button
    so that it will be easy for Alex to CCS 'em and also now people will have a link to contribute descriptions,
    see http://wiki.blender.org/index.php/Dev:2.5/Py/API/Documentation/Contribute
  * moved the note about bpy_struct not being available in the api
    in a proper note directive, so that it's more evident
    (I didn't see it at first)
2010-06-11 22:41:13 +00:00
66134ea381 patch [#22570] Text editor syntax coloring update
from Jacob F (raccoon) 

This does two things to the text editor:
1) Adds coloring (same color as numbers) for True and False.
2) Fixes [#22551] Syntax coloring offset does not update when using real tabs and changing tab width
2010-06-11 15:35:11 +00:00
a0a99e4a4d [#22554] Register option on Texts doesn't work anymore
there were no hints that '.py' extension is needed, added tooltip.
2010-06-11 14:10:02 +00:00
e0bada19f9 [#22496] OpenSuse 11.2 The problem with built-Povray
give a better error message when povray isnt found.
2010-06-11 13:45:58 +00:00
d811c284f9 Deny applying location/rotation to 2D curve - such transformation could
make points have non-zero local z-coordinates, which is confusing for 2D.
2010-06-11 13:00:24 +00:00
eb3220fa83 rna api
- ParticleHairKey.location can now be set (object space location).
- Library.parent was set to ID type.
2010-06-11 10:46:47 +00:00
4aa2ad003b game world buttons had old property name for mist toggle 2010-06-11 09:09:57 +00:00
2980d902b9 Fixed bug #21348, Hide selection in Edit Mode not working with some modifiers (VBOs)
Was actually a couple bugs:
* VBO bug was that hidden faces weren't being skipped correctly. Fixed that and rewrote this bit of VBO drawing code more clearly (less duplication, less unecessary state, and comments even)
* Second bug was that CCGDerivedMesh wasn't outputing ORIGINDEX data for faces. (it's not doing it for edges or verts either, but I don't know that we need it to.) At any rate, we do need this data for faces so that additional DerivedMeshes on top of subsurf know what faces in the editmesh are hidden.
2010-06-11 07:57:43 +00:00
Dalai Felinto
b45b0512c8 create COMPAT_ENGINE in game panels to allow external game engines - patch from Xavier Thomas(xat) 2010-06-10 23:53:13 +00:00
8480b21d4a bugfix [#22569] Bezier splines.points segfault 2010-06-10 22:11:41 +00:00
1022ec3fe4 clear python console namespace when used with a new window manager, otherwise old python objects are kept around between opening different blend files (leaking memory).
ideally loading a new file would clear the namespace but practically its unliekly to be a problem.
2010-06-10 21:31:39 +00:00
6aaf55eee5 Copy name from original modifier rather than generate new unique in copy_object 2010-06-10 21:23:09 +00:00
0d36ce3252 Fix bug #22563 Two modifers with same name on one object
The copy_object function don't call modifier_unique_name so
every modifier (in this case, the array) get the same name.
2010-06-10 21:12:22 +00:00
7d841b2f83 Fixed bug #22558, Show Cone & Square look strange
* Fixed a couple things: for triangle fans, you have to put an extra vert to make them closed, and also flipped the draw order so that the normals went the same as for circle cones.
2010-06-10 19:35:37 +00:00
b3b8846fda svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29346:29389 2010-06-10 19:10:43 +00:00
ac59cad93f bugfix [#22561] Make Dupliface Memory Leak 2010-06-10 18:56:52 +00:00
e8fab1e9cf * Initial support for dynamically-sized Griddata from subsurf.
CCGSubsurf internally already fully supports vertdata of any size. This commit basically extends that support to all the code using the output of subsurf (with dm->getGridData).

For now, two types of grid data are set up: coords+normals with masks, and coords+normals without masks. More types to come.

For future reference, emacs find/replace regexps used to make some of the changes:

\(data\|subgrid\|grid\|edgeData\|faceGridData\)\[\(.*?\)\].\(co\|no\|mask\)
GRIDELEM_\,(upcase \3)_AT(\1, \2, gridkey)

&\(diffGrid\|gridA\|gridB\|faceGridData\|gridData\[i\]\|lowGridData\[i\]\)\[\(.*?\)\]
GRIDELEM_AT(\1, \2, gridkey)

\(vi\.grid\|vd\|a\|b\|vda\|vdb\)->\(co\|no\|mask\)
GRIDELEM_\,(upcase \2)(\1, gridkey)
2010-06-10 18:20:55 +00:00
7e21cede8f setting the sequencer strip filepath for sound strips would rename the strip path but not the sounds,
resulting in sounds that didnt play in the sequencer unless you removed and replaced them with a strip that pointed to the new path.

The way these 2 datablocks work together is a bit odd, I think this is OK for now but should be better defined.
2010-06-10 15:41:01 +00:00
64fbe2ee21 Minor modification to how objects are selected for animation baking,
Rather then only baking parent objects. Only bake objects which are have no parents in the original scene.
This allows for parenting and unparenting within the game engine without gaps in the animation curves.
2010-06-10 14:42:24 +00:00
0cfdb63499 lamp drawing clip start request by venomgfx, with wide lamps its hard to tell where clip start is at the edge of a lamp. 2010-06-10 07:57:25 +00:00
006d5e82e8 more cleanup to bpy.context.copy(), exclude rna values and its self. 2010-06-09 19:44:06 +00:00
dd72ffe3ff py/rna api:
- bpy.context wasnt being created from the python bpy.types.Context type defined in bpy_types.py (bpy.context.copy() failed for eg.)
- bpy.context.copy() was returning C defined methods like FloatProperty(), which are not useful in this case, removed.
2010-06-09 19:31:10 +00:00
6b21085ed5 enable adding objects in background mode by not using the context to get the object added. 2010-06-09 19:20:05 +00:00
1028284301 pep8, whitespace edits 2010-06-09 19:12:03 +00:00
e3daab158c fix for crash setting the objects layers 2010-06-09 15:56:50 +00:00
e2bc4ca9ce Fix #22317 View reamins in camera's view after camera is deleted (again)
The problem was not in the editors, the code in blenkernel have a XXX
in the perspective value. Now unlink_object also update the ARegion.
2010-06-09 15:35:10 +00:00
1a36867017 recent addition: Shift+H in node editor was switching the preview of node types that didnt support it. 2010-06-09 14:17:22 +00:00
6cc6f8495f - added a flag argument to WM_operator_properties_filesel() currently only used for relative path option.
- added relative option to saving external multires data
- renamed multires external functiosn to have save / pack as suffix.
- added TODO's for file select operators that should support relative paths but dont.

- also disable openmp on linux cross compile, mingw currently isnt linking -lgomp
2010-06-09 14:04:34 +00:00
0ef2431220 python utility property library.users_id: returns a tuple of all ID datablocks which use this library. 2010-06-09 09:48:41 +00:00
c023cd20fc attempt to fix problem with quicktime on MSVC 2010-06-09 08:33:22 +00:00
eb081dd991 rename rna function obj.make_display_list(scene) --> obj.update(scene)
also added 3 optional bool arguments, 'object', 'data' & 'time', matching the object recalc flags.
2010-06-09 08:24:31 +00:00
Dalai Felinto
3e56c4dda1 Logic Editor: bugfix for "Unable to Add Controllers sometimes" (reported in IRC by Daniel Salazar (ZanQdo)
What was happening; if
the old code (2.49) was changing the status from 0 to 1 inside the interface code. e.g. if (!ob->status) ob->status = 1;
Initializing it properly (in blenkernel) and making sure the new status is ever 0 (in rna_object.c) should fix it.

And yes, the log is bigger than the patch !
2010-06-09 08:00:45 +00:00
668a5156cd Fix [#22188] Minor UI bug with panels in the properties window.
This prevents header-less panels (such as object name in object properties) from being re-sorted
when dragging other panels.

Also minor tweak, make the 'a' key shortcut to open and close panels only work with there are no 
other modifier keys (like alt).
2010-06-09 07:55:49 +00:00
d36da839b1 reverting own recent change to switch off RULE_MESSAGES since you cant see which files are rebuilding. 2010-06-09 06:21:07 +00:00
6d49d7043a Fix [#22111] Quad View panes have wrong view when switching between Global/Local View
Joe already committed this to render branch in r28545, but it's not in trunk. 
The code that was committed doesn't seem to work properly, either, needs braces.
2010-06-09 04:54:10 +00:00
1c693079a2 Fix [#22538] Crash when Selecting Particle Properties Tab (File-dependant)
psys->parent pointer wasn't getting handled in lib_link_particlesystems()
2010-06-09 02:42:20 +00:00
23d68fed88 Changed the HairKey location rna prop to give a location in object space,
rather than in its own internally used emitting-face-coordinate-system 
(which is how the data is stored in DNA - that data now exists in rna as 
hairkey.location_hairspace)

Basically this makes the hair information that's in rna a lot more useful, 
making it possible to export hair strands to external renderers for example.
2010-06-09 01:17:51 +00:00
529c194d99 * Added a button to invert the mask
* Renamed mask "Full" to "Fill"
2010-06-09 00:34:20 +00:00
f63c44ec68 * Updated the default blend (only in my branch) to add a mask brush for sculpt. 2010-06-08 22:59:26 +00:00
4218d34a23 * A little refactoring, pulled some common code together in multires 2010-06-08 22:46:29 +00:00
5cdc07f931 * Fixed masks not updating correctly from lower levels. 2010-06-08 22:40:02 +00:00
b19a0759ec svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29193:29346 2010-06-08 21:44:26 +00:00
d4518ca79e Fix #22534 linking object data for two forces results in crash.
This is because the make_links_data_exec don't check for the
object type like before, so try to access the obdata of an empty
and blender crash.

The solution is not the best, we have a new function
allow_make_links_data to check if we can links data from one
object to another.

The real solution is build the menu like the 2.4x, so only
show the options that we allow for the object type that
we have select/active.

Matt, any suggestion ?
2010-06-08 20:24:28 +00:00
728799e0d8 texture user attributes, users_material, users_object_modifier 2010-06-08 13:03:49 +00:00
c5cee16630 better not have an instant crash key, script reload currently disabled ubless running in debug mode.
removing keying sets and netrender makes reloading work so probably a problem with how rna works with these classes.
2010-06-08 10:56:59 +00:00
7caae1104e Reverting Tom's change to Merge to Quad in Trunk too 2010-06-08 10:42:35 +00:00
c5605c10d6 Assorted View2D formatting tidyups... 2010-06-08 00:51:57 +00:00
920850e630 Bugfix #22453: Jump to Next keyframe doesn't work on some frame
Jump to keyframe would get 'stuck' if it encountered a keyframe on "fraction" frames. Now, it will try multiple times until it finds one.
2010-06-08 00:08:45 +00:00
0cae214a78 == python api docs ==
bge.types
---------

- removed lists if they were already available in bge.logic and crosslinked
  where the list contained description, moved the descriptions in bge.logic
  so we have useful thing in one place only
- fixed a lot of bad formatting, like bad indentation and usage of TAB
- changed from literal to codeblocks that smerch for the useful suggestion :)
- whered appropriate I've moved code examples to the end, after notes and all
  it is blocking to have a big black block before actually see a method parameters or return type
- have doubt about the list at bge.types.html#bge.types.SCA_MouseSensor.mode
  possibly tomorrow will ask Dalai
  
bge.logic
---------

- added sensor status list
- cross linked with bge.types where needed
- added a section "ShapeAction Actuator" because in bge.types these constants are docuemented, but in 2.5 I don't see the ShapeAction Actuator 
(anymore, or for now)
  I'll ask Dalai tomorrow or when possible (check bge.logic.html#shape-action-actuator once cambo rebuilds the docs)
- moved descriptions from bge.types lists to logic page where appropriate
- where possible, added custom directive :value: so we have a consistent way to show the value of constants
2010-06-07 23:50:43 +00:00
3f17a4274f * Replaced bad usage of inline keyword with CCG_INLINE. 2010-06-07 22:57:54 +00:00
8e1a63dbc9 Merge -c 29322 from COLLADA branch into trunk. 2010-06-07 20:37:56 +00:00
740897a69e set the default options for new cameras to be the same as the default blend file 2010-06-07 20:08:03 +00:00
eb50486df2 Fix COLLADA build error. This was caused by the difference in OpenCollada versions between Windows and Linux/Mac. Windows uses OpenCollada revision 746, Linux/Mac - 721. 2010-06-07 20:07:31 +00:00
416e82b022 node toggle preview and hidden socket key shortcuts (Ctrl+H, Shift+H) 2010-06-07 20:03:40 +00:00
d9690e9295 Reverting commit 21540, incorrect bugfix. 2010-06-07 19:16:56 +00:00
52caf71ee2 Bugfix: copying a newly-created vertex group caused a crash. 2010-06-07 18:50:19 +00:00
6a8bff9570 Fixed bug #21540, Array Modifier Capping refresh on open problem.
* Problem was that the modifier directly accessed ob->derivedFinal, but that wasn't being built if the object was on a different layer. Changed to mesh_get_derived_final.

Notes:
* I fixed this for array and boolean, reported in the bug; there might be other places affected by this mistake. It's an easy fix if so.
* The datamask being passed in isn't especially correct. Possibly we should be accessing the datamask being used to build the array modifier DerivedMesh? Anyway, at least this will get the mesh to show up in the viewport.
2010-06-07 18:20:59 +00:00
e012fc8107 Fix #22487: Shrinkwrap ignores preceding deform modifiers
ShrinkwrapCalcData->vert contains verts from derivedMesh this coordinated
are deformed by vertexCos only for normal projection (to get correct normals)
for other cases this field contains undeformed dm's coordinates and
vertexCos should be used
2010-06-07 17:38:52 +00:00
f8346b1bcd Fix bug #22317 View reamins in camera's view after camera is deleted.
The object in the view3d don't get update, so point to the delete
camera and make Blender crash when you go into fly mode.
2010-06-07 16:24:24 +00:00
1a3129c40a man page from debian updated for 2.5, better maintain here for other linux distros. 2010-06-07 15:37:59 +00:00
c13c3d0081 Smoke UI:
* Greying out for Smoke High Resolution Panel.
* Code cleaning, removed some unnecessary declarations.
2010-06-07 15:28:17 +00:00
180a9f1a81 fix for crash with the job system progress bar on load, matt you may want to check if this case should be happening at all. 2010-06-07 14:54:42 +00:00
ae8bba2165 Fix #22331: mesh deform modifier not caculate all shape keys when using 'apply shape keys in edit mode'
This modifier used undeformed coordinates from emDM.
Added method getVertCos to emDM, so meshdeform now could use it
to get deformed coordinates form any derived mesh.
2010-06-07 14:38:59 +00:00
ab0d12a3b6 minor changes to cmake, main noticable change is to disable RULE_MESSAGES which gives less output with makefiles (easier to spot warnings). 2010-06-07 14:28:37 +00:00
d57ebc4ecc Fix [#22413] drag & drop images don't work untile you move the object 2010-06-07 07:47:27 +00:00
1dd36c243d Fix [#22494] Operator panel vanishes 2010-06-07 06:50:56 +00:00
8cb33327d8 Fixed bug #22515, RegionView3D has weird width/height values
* Changed the RNA for RegionView3D to not inherit from "Region", which is "ARegion" in DNA. As far as I know, in order to inherit like that the RegionView3D struct would need to start with an ARegion struct?
2010-06-07 05:45:30 +00:00
0a7d036f32 Fixed bug #22293, v2.49b to v2.5alpha2 incompatibility
* UV data on multires meshes wasn't getting imported properly. Fixed by separately loading in all "first-level" data from the old multires data type into mesh. Note that an "incorrect" data layers might still be loaded and be active on the mesh, but the correct layers should now also show up in the UV layer selector.
2010-06-07 04:48:22 +00:00
876e71844b Committing tom's fix that went to his student's branch instead 2010-06-07 03:57:49 +00:00
3efcdf5d47 Fixed bug #22361, missing graphics when sculpting with pinned shape keys
* Problem was that the sculpt PBVH was only used for redrawing if the derived mesh's vertices were equal the base mesh's vertices, which isn't the case when sculpting on shape keys.
2010-06-07 03:48:41 +00:00
61f50707a4 'fix' [#22527] Lens angle under View in 'N' panel does not change the camera view
Made the UI more clear that the Lens value is for the 3d view space data only.
2010-06-07 03:44:54 +00:00
e27756f0dc Fix [#22504] Fluid is completely broken in latest 2.5 build (04.06.2010)
Silly typo - some other tweaks too.
2010-06-07 03:02:47 +00:00
a8acb22f6a Fixed bug #22518, Segfault on loading file
* Problem was a pointer not being updated after the tree was changed
2010-06-07 02:42:26 +00:00
d8e36bd68a * Fixed a bug in the mesh color buffer updating
* Added a mask brush to sculpt mode, behaves as a normal brush but affects mask not coords. Note that for non-multires, you have to create a mask layer before the brush will do anything.
* Cleared some memory that valgrind warned was uninitialized
2010-06-06 23:46:14 +00:00
ece6e5a41e * Sculpting now pays attention to the mask 2010-06-06 21:44:11 +00:00
428f1848e2 * Started integrating the customdata facegrids type. For now it's used for storing paintmasks with multires, more to come here.
* Updated disp_run to update masks. I'm treating mask layers as actual values rather than displacements as is done with mdisps; results look better this way I think.
* Added color buffer updating for VBOs built from grids.
* Changed the paint_mask_set operator to update multires too.

Notes
* For now I've hardcoded the use of mask data into DMGridData and other places. We don't actually always want that extra float though, that's temporary. Plan is to set up something similar to the way CCGSubsurf deals with variable-sized vert/edge/face data.
* This commit enables all the calculations needed to create, show, and update masks, but they aren't used for sculpting yet, that comes soon
2010-06-06 21:13:03 +00:00
665506ced8 == Sequencer ==
Applied: [#22490] Add Passepartout to Sequence Editor for frame ranges
Thanks to Keith Boshoff	 (wahooney) for the patch!
2010-06-06 20:19:22 +00:00
c998c676b5 Made the operator panel larger to make more space for the operator settings. Was always too small before. 2010-06-06 20:00:44 +00:00
05188c26ce Merge -c 29280 from COLLADA branch into trunk. 2010-06-06 19:32:12 +00:00
a8ad20c31c * PBVH can now iterate over mask data coming from a mesh (not multires yet)
* The paint_mask_set operator can be used to create a mask layer and fill it with zeroes, ones, or random data (for testing)
* gpu_buffers will display the mask layer (again, only for regular meshes not multires grids yet.)
2010-06-06 17:03:06 +00:00
ce9d2b8eb4 Small fix for sample line tool. Set luma data to 0 when out of bounds. 2010-06-06 16:26:49 +00:00
8eaa8a0763 Removed non working operator options from the 'redo' user interface.
This cleans up things like transform and duplicate a lot, which previously exposed lots of options that didn't work with tweaking.
2010-06-06 15:38:50 +00:00
640fb84bed - Added checking if modifier is active in find_multires_modifier
- Pass MultiresModifierData to reshape functions
2010-06-06 15:22:27 +00:00
d153c765bc CMake:
- WITH_LCMS added option, was supported in scons.
- commented web plugin option since its not maintained.
- some formatting changes and removed includes that are not needed for source/creator/CMakeLists.txt.
2010-06-06 13:32:58 +00:00
b4f12db4ec Don't report the python code for operators type which don't have the
'REGISTER' flag set.
2010-06-06 08:52:33 +00:00
8adf33c8a4 Add particle system rna pointer property to the particle system modifier 2010-06-06 08:51:53 +00:00
6e0340d0b5 removed cmake include path in recent cleanup which was needed. 2010-06-06 08:25:42 +00:00
73ab6f7138 * Updated the paint_mask_set operator so that it can set mask values using the sculpt PBVH. The mask-setting part is commented out until the PBVH is ready. 2010-06-06 07:31:52 +00:00
3073f84da1 Preparing VBO drawing code for colors.
* Added functions to load paintmask data into the color buffer
* Drawing is enabled, but no visible effect since I haven't set up any paintmask layers yet.
2010-06-06 07:07:58 +00:00
4ddacf11ce * Fixed bug in the buffer VBO code; no reading from a buffer mapped as GL_WRITE_ONLY. 2010-06-06 06:30:22 +00:00
fc708877b0 * Changed CCGSubSurf's Vert macros into functions that operate on any number of floats, rather than just three.
* Added a new field to CCGMeshIFC to control how many floats those functions will operate on.
* For now it's always three, so there should be no visible change in behavior.
2010-06-06 06:10:54 +00:00
ed338da8c9 - WITH_CXX_GUARDEDALLOC working again
- CMake building without python or fluidsim working again (broke in recent commit)
- remove BLI_short_filename(), it wasnt used anywhere.
2010-06-06 01:15:44 +00:00
Nathan Letwory
0cc077ec45 Update config file for win64 for OpenCOLLADA (r746) 2010-06-06 00:58:58 +00:00
Nathan Letwory
cc72f9b516 small warning fix. 2010-06-06 00:35:48 +00:00
Nathan Letwory
a6d5f43ac8 * update CMake and SCons for the OpenCollada update (to r746).
- DocumentExporter changed due to function name change in API
  - no more UTF lib
  - enabled by default for win32

Note: debug libs will be added later, as well as 64bit windows libs.

For other platforms, get r746 of OpenCollada and build against that.
2010-06-06 00:33:59 +00:00
2ebb1c63f7 finish cleanup to cmake editors, also removed some stuff from scons thats not needed. 2010-06-05 23:27:49 +00:00
4da179749e - [#22492] [29159] commit breaks importing of script file that has a reload to self in it
broke when including the blend path in the modules filename.       

- new function BLI_path_basename(), matches pythons os.path.basename().
  replace a number of cases where BLI_split_dirfile was being used to get the filename only.
2010-06-05 21:19:59 +00:00
c120689203 revert changes in own commit to fix warnings, was giving warnings with a newer swscale 2010-06-05 16:52:19 +00:00
df462b8975 Node Editor: link to viewer (ctrl+shift click on node) now cycles through
the node outputs instead of always linking the first one to the viewer.
2010-06-05 15:59:48 +00:00
ea06e8c3fb looks like this is needed for MSVC 2010-06-05 15:48:15 +00:00
556b57febf get rid of some warnings,
removed NG_LoopBackNetworkDeviceInterface::GetNetworkVersion(), wasnt used anywhere.
2010-06-05 15:31:55 +00:00
Nathan Letwory
2403214cb4 Moving FFMPEG lib path include to first in the list. This might fix '[#21312] 2.5 Fails to Build Against Latest FFMPEG svn'
PS. note the nice palindromic bug report number.
2010-06-05 12:55:32 +00:00
Nathan Letwory
24d5a1ce3a Show whether BF_DEBUG=1 or 0 in output. 2010-06-05 11:56:55 +00:00
Nathan Letwory
9ba5c24d01 Change to liblibjpeg, otherwise mingw looks for jpeg.lib instead of libjpeg.lib 2010-06-05 10:15:48 +00:00
eff8c83a1d Fix [#22503] Can't create any objects in new scenes. 2010-06-05 00:21:26 +00:00
Nathan Letwory
35ea04cfc7 MingW (both native and cross) now use the libjpeg.lib from lib/windows. This is the compiled version from Sergey committed at r29226 (so please update your lib/windows too) 2010-06-04 23:38:17 +00:00
129bee4743 remove cruft from cmake files, more to go 2010-06-04 20:56:56 +00:00
e40f425619 Fix bug #22153 and #21609
Can't leave edit mode if you enter to edit mode and hide the
object from the outliner.

Also fix the problem if you hide the object and enter edit mode
from the outliner.

To avoid this problem you can't enter edit mode from the outliner
if the object is not visible and also you can't hide the object
from the outliner if the object is in edit mode.
2010-06-04 19:31:14 +00:00
7639c5146f SVN maintenance. 2010-06-04 18:26:15 +00:00
fff9b88ba8 * Fixed a Typo in Convert menu. 2010-06-04 16:21:04 +00:00
677a0434a4 == python api docs ==
- small change to indicate the source file we use the proper :file: directive and we link to proper file in svn
  check for example http://www.blender.org/documentation/250PythonDoc/bpy.ops.cloth.html#bpy.ops.cloth.preset_add
  after you rebuild the docs
2010-06-04 13:47:56 +00:00
8a42eebad5 opengl-render flag wasnt being cleared after rendering. 2010-06-04 12:23:38 +00:00
cac1b3c67f missed this in filename --> filepath renaming 2010-06-04 12:01:57 +00:00
55d3a2014c have cmake build editors as different libs like scons and nan-makefiles 2010-06-04 11:34:57 +00:00
9b94aaa211 check to avoid divide by zero 2010-06-04 11:31:39 +00:00
eb5f310e05 remove cruft from scons config. 2010-06-04 07:17:12 +00:00
6255105896 Fix [#22480] brush/circle select (C-key) causes problems in other modes 2010-06-04 06:02:46 +00:00
b0eee216d4 Fix [#22383] 3dView Layer Management (by Mouse) broken 2010-06-04 01:39:34 +00:00
ab5367e09f support for building with scons & python 2.4x 2010-06-03 23:37:51 +00:00
0729a58224 solidify modifier wasnt requesting vertex groups when it needed them. 2010-06-03 22:08:14 +00:00
591c8e8346 [#22498] scene.objects.unlink() frees object
fix by Dan Eicher (dna)
2010-06-03 21:48:42 +00:00
d00b733415 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29022:29193 2010-06-03 20:27:16 +00:00
a87dbe03e7 Made the sample line tool of the image editor use color management if needed. 2010-06-03 20:25:00 +00:00
b9cb3c91a8 remove unused env vars from --help 2010-06-03 20:06:29 +00:00
6d72150312 wave modifier was dividing by zero for each vertex with default settings of falloff == 0.0f.
annoying with --debug-fpe and better to use multiply in the loop.
2010-06-03 19:56:13 +00:00
54d764095f disable openmp for blenderlite scons target 2010-06-03 18:25:03 +00:00
a545998c84 Merge -c 29009,29081,29189 from COLLADA branch into trunk. 2010-06-03 17:41:33 +00:00
6ac2ee5929 [#22470] bpy.Image.gl_load/free()
patch from Dan Eicher (dna)
2010-06-03 16:26:04 +00:00
2beef23a9b == python api docs ==
some more cleanup:

  - made structure in source/gameengine/PyDoc/bge.events.rst to be able to crosslink properly
  - cleaned notes and warnings syntax, and also now they are always the last elements after all the other tags
  - substituted some lists of possible values of a parameter with links to lists of values (not finished)
    like in bge.types.html#bge.types.SCA_PythonKeyboard
  - uncertain about some values, like in http://www.blender.org/documentation/250PythonDoc/bge.types.html#bge.types.SCA_ISensor.status 
    (list of KX_SENSOR_INACTIVE,... etc aren't documented or non-existant, will investigate)
2010-06-03 14:26:38 +00:00
c0a32f2f65 search for scripts in the release directory relative to the blender binary. 2010-06-03 13:31:50 +00:00
566c92fff7 fix for buffer overrun with making a path relative.
would only happen when the names of the path and the relative location matched which isnt likely but happened today when Soenke somehow made a file link to its self.
2010-06-03 13:05:45 +00:00
Dalai Felinto
4385add665 Copy Game Properties Operator: fix for "default enum value" out of the range. I removed one item from the Enum and forgot to change the default. 2010-06-03 08:41:40 +00:00
Dalai Felinto
44845b8965 Logic Editor: more datablock lookups :)
Now all the material properties have the nice Datablock Lookup menu (thanks a lot Matt !). They still store the property as a string, therefore if you change a material name the logic bricks using it don't get updated. it would be nice if we had a way to communicate that in the interface.

The only "datablock" field that doesn't have lookup is "property" in collision and ray sensors and Constraint Actuator. The reason being is that there is no global ListBase to gather the properties of all the objects in the scene. And it may be too overkill to create a list with all the properties on-the-fly only for that (it would be cool though)
2010-06-03 08:26:47 +00:00
115b0e2c0b silly compile fix 2010-06-03 07:47:49 +00:00
1b517c0926 Small memory management tweaks 2010-06-03 07:28:47 +00:00
21d112c36f Reworked the non-blocking reports display in the info header:
* Now it displays the last report from the global list, not just from operators
* Rather than disappearing when a new operator is run, it stays until it times 
out or a new report is added
* Fun animated transitions ;)
http://mke3.net/blender/devel/2.5/reports_header.mov

Now need to investigate report usage with popups. Ideally we can have most
 reports non-blocking, so they're less intrusive, only popping up for dire errors.
Problem is many things in Blender right now are marked as RPT_ERROR 
when probably RPT_WARNING is more appropriate. Should probably keep 
RPT_ERROR for things that demand immediate attention.
2010-06-03 07:27:55 +00:00
Dalai Felinto
3b6aa5b6a5 Logic Editor: clear properties operator + logics in the object menu
clear properties operator
- now it's not part of the copy properties anymore (Matt's suggestion).

If anyone want to change the menu, please help yourself (renaming, putting in it's own submenu, making it invisible when mode is not Game ..)
2010-06-03 06:41:24 +00:00
f5951ac2ea == python api docs ==
- now that I've made syntax changes in the previous commit I moved blocks to to have sensors/actuators grouped together
- added sections to have a nice table of contents
- formatted 2 lists and links to classes
2010-06-02 22:56:08 +00:00
e58bb562d2 == python api docs ==
*  source/blender/python/doc/sphinx_doc_gen.py
	
	changed syntax for declating attributes type to use :type: instead of *type* os it

* source/gameengine/Ketsji/KX_PythonInit.cpp

	While documenting I've found that we have two naming conventions for constraints in BGE python api,
	example: KX_CONSTRAINTACT_DIRPZ and KX_ACT_CONSTRAINT_FHPX: the right convention is KX_CONSTRAINTACT_xxx
	After talking with dalai and cambpell we agreed that this kind of change is better suited for NExyon GSoC
	so I marked as TODO
	
	Also, found 2 duplicate rows, fixed after askin nexyon

* source/gameengine/PyDoc/bge.logic.rst

	there were 2 blocks for constraints, I've put them together in docs and fixed some other lines
	
* source/gameengine/PyDoc/bge.types.rst

	first cleanup: mainly started using ":type:", it was mixed usage of *type* and **type**
	started cleaning some bullet list in a way that varibles link to the constant in appropriate page
	I'll continue later
2010-06-02 21:28:17 +00:00
cb26b4d7b9 error in last commit 2010-06-02 19:37:53 +00:00
89320c911e Sculpt & modifiers: patch by Sergey Sharybin, with modifications by me.
Fixes various crashes and redraw problems, most noticeable new feature
is that you can now sculpt on a multires mesh with deforming modifiers
preceding it.

I've left out support for sculpting on multires with enabled modifiers
following it, in this case only the base mesh can be sculpted now. The
code changes needed to do this are just too ugly in my opinion, would
need a more torough redesign which I don't think we should try now. In
my opinion this is also not really an important case, since it's going
to be incredibly slow anyway to run a modifier on a high res mesh while
sculpting.


So, to summarize current state:

* Fastest sculpting: base mesh with no modifiers or multires with only
  modifiers preceding it.
* Slower sculpting: base mesh with modifiers, depends on the speed of
  the modifiers.
* Not supported: multires mesh with modifiers following it.
2010-06-02 18:04:31 +00:00
9cbbc9d3af rename some rna properties filename --> filepath
* filename == "foo.ext"
 * filepath == "/path/to/and/including/foo.ext"

this was alredy followed in some places not not everywhere.
2010-06-02 17:58:28 +00:00
Dalai Felinto
fc59a6c6c8 BGE: Moving Constraint Actuator Defines. It was leading to some errors in documentation 2010-06-02 17:38:38 +00:00
7d2f5a5c5d Constraint UI:
* Alphabetical order fix: [P]ivot comes before R and S ;-)
2010-06-02 17:01:50 +00:00
71ffef63d7 Avoid reset the H and S value in the color picker when V is equal to zero!
Small change to keep the value of H and S when V come to zero, take care
that only work if you keep the color picker open.

When the color picker is closed, the H and S value are reset to zero
this is because the color picker is used in a lot of different place
and this value need to be reset.

(BTW reset to zero only when V is equal to zero!)
2010-06-02 16:02:28 +00:00
b1a96f76dc include the blendfile name when executing python scripts, so when using libraries you can tell where the script is stored which raises an error. 2010-06-02 14:40:58 +00:00
ad25ac9e9b Fix "Snap cursor to selected object" not working for linked object.
The problem was CTX_DATA_BEGIN using selected_editable_objects and
not selected_objects.
2010-06-02 13:41:05 +00:00
402a26e79f quiet warnings in screw modifier, also fix bad args for lookat_m4 and polarview_m4 to rotate_m4, however these functions are not used at the moment so it didnt cause any problems. 2010-06-02 07:40:50 +00:00
Dalai Felinto
0b02fc45b3 blenderplayer building again (may need updates in libraries I dont compile with, but it' builds here). removed smoke declarations that are not needed anymore (not in windows, 2010-06-02 07:06:47 +00:00
6d08cdcf5d Fix [#22473] No more text cursor placing when editing a Text Field ? 2010-06-01 23:06:14 +00:00
3f326354b8 Progress indicator in the application icon
Displays a global progress indicator in the application icon reflecting the total progress of all running jobs.

Currently fully implemented on OSX (Cocoa).
On other OSes that do not allow to redraw the app icon, this can be implemented as a [x%] display in the app title, so to appear in the taskbar.

Thanks to Matt for the windowmanager wrapper.
2010-06-01 20:21:40 +00:00
66e3a6e0ef == View Navigation ==
Orbiting the view while in camera mode now starts from the camera view rather then switching back to the last user 3d view settings.
* I added this some years back but it was rejected, however it was requested today for durian because with set scenes its not always easy to select whats infront of the camera to navigate to it.
  Its possible to end up in an annoying situation where you are looking at the main characters head (in a set scene), but when you orbit the view, the camera jumps 500+ BU away and you need to manually navigate back to what you were just looking at.

* If a user wants to go back to the view they had before entering the camera view they can still press Numpad zero which toggles.
2010-06-01 19:48:55 +00:00
3961793292 Fix #22239: external btx won't load. 2010-06-01 19:26:35 +00:00
db96d4972f Workaround #20467: disabled OpenMP multithreading on subsurf/multires/sculpt
for now, it's too fine grained and so becomes a performance bottleneck on some
platforms, while only providing a modest speedup on others. Couldn't find a
simple enough solution to solve this, so for now no multithreading here.
2010-06-01 19:01:54 +00:00
4ad5606f64 [#22194] Add groups visibility, selectability and renderability restrictions in the outliner
modified/rewrote some of this patch, not to include restrict settings in the group its self, since these are object settings this now uses the outliner/groups as a way to access multiple objects restrict and select settings.
Rather then fakeing that the settings are stored in the group.

This means it does rather more looping on group objects then I'd like however the outliner is doing a lot of loopnig alredy.
2010-06-01 18:12:17 +00:00
6491fdf413 Fix #22039: changing simplify recalculates subsurf even if simplifiy is disabled.
Fix crash with simplify and child particles in linked scenes.
2010-06-01 17:05:56 +00:00
9da25e016f Fix #22462: selecting the "Animation Step" operator from the spacebar
menu crashes Blender, patch provided by Frederik De Bleser, thanks!
2010-06-01 15:35:38 +00:00
16ca0163d8 passepartout overlay wasnt written into thumbnails 2010-06-01 13:06:13 +00:00
75e67144ab just a small commit to get myself back into thge swing of things
via a request there is now axis control in the vertes smooth operator (really small easy to remove if no one likes )
2010-06-01 12:13:07 +00:00
ed3a7bd299 script reload (f8), is closer to working.
there are internal memory problems which can make it crash still.
If you remove all directories in the scripts folder except for 'modules' and 'ui', it runs without crashes.
2010-06-01 08:15:43 +00:00
Dalai Felinto
c902eb8d7e Logic Editor: visible flag is boolean_negative 2010-06-01 07:49:27 +00:00
Nathan Letwory
b96a2c346c Fixes [#21791] Toggle Fullscreen (Alt + F11) returns to non-maximized window
Applied patch provided by Elia Sarti
2010-06-01 06:18:17 +00:00
eab7f6d3c2 Fix [#22469] Crashes with "segmentation fault" when opening an image for Voxel Data texture of type Image sequence
Cleaned up the code here, made it more efficient and more reliable with threaded render.
2010-06-01 06:07:22 +00:00
80a89d2de5 * Only print libtiff debug messages to the console when in debug mode
* Allow loading non 3/4 channel TIFFs (eg. greyscale). This was already 
working, but disabled out of caution. Seems to work fine in my recent tests though.
2010-06-01 01:01:25 +00:00
ccda04131a Python Open Link operator.
* Unified some code for Opening an URL to use only one operator: WM_OT_url_open
* Removed the HELP_OT_url operators.
2010-05-31 11:38:13 +00:00
bff5410504 * Sun & Sky presets were labeled as Render presets. 2010-05-31 10:21:57 +00:00
a57026b597 * Tooltip fix for Addon links.
I rather have this general text than 2 separate operators for wiki/tracker url.
2010-05-31 08:43:23 +00:00
b21d92d827 * Filled out LAYERTYPEINFO and LAYERNAMETYPES for the new custom data types I added. 2010-05-31 02:51:30 +00:00
d7dd651e70 == Sequencer ==
This makes volume range larger and adds an additional attenuation-variable to RNA,
which makes volume-changes in dezibel units possible.
2010-05-30 21:17:59 +00:00
03220bfe71 2.5 Addons:
Request from mindrones :)
* Next to the Wiki URL, it's now possible to have a link to the tracker, for bug reports.

"bl_addon_info" dictionary: 
* Renamed 'url' to 'wiki_url'
* Added 'tracker_url'
2010-05-30 20:48:09 +00:00
b8f3a1f4fe == Sequencer ==
Current SVN crashes, if we are using hard-cuts on multicam tracks. Changing to soft cuts for now 
(since it should be the same for effect strips anyways...)
2010-05-30 20:04:24 +00:00
fe83427cc9 == Sequencer ==
This fixes loading of hard trimmed audio files in readfile
and adds trim options to N-keys for audio files.
2010-05-30 19:33:26 +00:00
c2580dd639 == Sequencer ==
Multicam editing: don't cut to the camera we are already on...
2010-05-30 19:29:58 +00:00
177cffc171 blend file thumbnails
- fix for blend file thumbnails not being immediately visible in an external file manager (was writing the thumb before the blend)
- move overlay function from wm_files.c into thumbs_blend.c
2010-05-30 19:21:28 +00:00
8ad29c02e0 == bge api docs ==
- fixed small typo in bge.events.rst
- also testing committing to bf-blender, my first commit :)
2010-05-30 18:18:14 +00:00
a9867c226b add torus now works like other C add-object operators, location and rotation are initialized and kept even when settings are changed after. 2010-05-30 17:18:16 +00:00
0882438832 Disable using own emitter object (self) as dupliobject/group for particles, fixes bugs:
[#21994] hair particle system with dupli object set to particle system object itself results in 100% cpu usage
[#22023] [Rev 28117]Can't bake particles?
[#22065] in a particle system, setting the emitter as the dupli object crashes blender after pressing alt+a to animate
2010-05-30 16:09:16 +00:00
a836aad094 mingw/cmake ffmpeg works now, update for new openexr libs which removed IlmThread. 2010-05-30 15:55:16 +00:00
71d4c092ce console now shows unicode errors as well as errors caused by introspecting the api with autocompleate. 2010-05-30 15:17:33 +00:00
f8ecc3fd2f Some cleanup of particle path drawing logic:
* Path drawing now works for non hair particles.
* Should fix the following bugs too:
  [#21316] Hair weight drawing is wrong
  [#21923] Consistent Crash When Rendering Particle Scene.
  [#21950] Path rendering option for particles causes crash
2010-05-30 14:53:26 +00:00
1658a28a58 - Python console argument '--python-console', option so you can start blender and drop into a python console, (useful for debugging some problems on a renderfarm over ssh)
- Also made it so sys.stdin isnt overwritten anymore, instead the interactive consoel overwrites while it executes and restores after.

- removed hope folder from sphinx patch path
2010-05-30 14:05:58 +00:00
a668915404 Fix #22446: "Delayed" modifier preview with linked curves
Since curve objects could have constructive modifiers, we can't
always avoid setting OB_RECALC_DATA to linked objects (displist
recalculation wouldn't enough for curves with such modifiers)
2010-05-30 14:05:24 +00:00
Nathan Letwory
c8b88dde88 remove non-informative print 2010-05-30 13:58:17 +00:00
Nathan Letwory
e2585355c3 Fixes: #22064 When the Windows task bar is placed on top of the screen, Blender "User Preferences" opens with the title bar underneath it
I applied the patch provided by Charlie Shen in the comments of the bug report
2010-05-30 13:50:59 +00:00
84d3856498 thumbnail passepartout effect, distinguishes blend files from images. 2010-05-30 09:16:50 +00:00
941c10a296 optional fallback argument for vector angle function.
vec1.angle(vec2, fallback)

in my experiences most uses of this function required a try/except so better to allow a fallback value.
2010-05-30 01:42:04 +00:00
286f167845 == Sphinx Doc Gen ==
Workaround to address attribute description issue. 
In resulting .rst file attribute's descriptions appeared
not indented which sphinx considered as anoter blocks.
2010-05-30 00:24:32 +00:00
Dalai Felinto
c6bec43330 reverting previous commit from Mitchell. His commit went to the trunk instead of the branch :)
svn merge -r 29067:29066 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2010-05-29 21:31:57 +00:00
9d3157eed0 Reversing the last merge because I botched it. 2010-05-29 21:22:24 +00:00
e335321e88 Fix multitouch zoom erratic behavior in 3D view in vertical dolly mode 2010-05-29 20:14:58 +00:00
28d3a17cf4 Updated openexr for MinGW 2010-05-29 18:28:01 +00:00
d86ad8e671 disable forcing mingw compiler flags (means you couldnt change them) 2010-05-29 11:36:33 +00:00
Dalai Felinto
3aaf77bd1c Fix for Error Totblock for Sound_OT_open
Error Totblock: 1
OpenPropertyPointerRNA len: 32 0x11111111

I'm not quite sure this has to be done here, or when the actuator is removed (Matt, do we need the customdata pointer for anything later?).
Doing it here seems to be fine so far.
2010-05-29 08:49:48 +00:00
5aa1d2bb25 removed WIN32 definition for msvc last commit (to get mingw working)
added back definition as well as checking if some options need to be set.
2010-05-29 07:31:40 +00:00
Dalai Felinto
8a59a45342 Esc as input for Key Buttons (e.g Logic Brick Keyboard Sensor)
After talking with Brecht he agreed on allowing Esc to be used as input for key input butons.
In order to let the user to cancel an input it can cancel it clicking outside the button.

Also replacing manual check by ui_mouse_inside_button in ui_text function
(patch reviewed (and helped) by Matt (but the change on ISHOTKEY, that's on my own risk ;))
2010-05-29 01:42:42 +00:00
8082d845de Fix Open Sound operator, bring it in line with Open Image:
* Add relative paths option
* Set the pointer used in the ID template properly

* Tweaked the Sound actuator ui
2010-05-28 23:12:45 +00:00
40d7eac69e [#21842] Beta patch to restore cmake MinGW compilation
from Riakiotakis Antonis (psy-fi) 

with modifications.

notes:
- needed to remove quotes around filepaths for copying.
- WITH_JACK, doesnt link
- WITH_FFMPEG, doesnt build
- WITH_RAYOPTIMIZATION, gave an error for me. (no mmx support)
2010-05-28 21:25:23 +00:00
6b918fb86f = Game Engine PyDocs =
Document's headers trailing dots removed, to make them consistent with other docs.
2010-05-28 19:59:15 +00:00
1eb49d944f Fix [#22429] Seg Fault when deleting a material from a pinned panel 2010-05-28 07:16:55 +00:00
a6a1ede7a5 bugfix [#22438] Sequencer off by 1 scene error
scenes start frame was being ignored (was always zero)
2010-05-28 07:16:36 +00:00
1ba9766ab5 == CMake ==
* updated for new libtiff
* also disabled opencollada for now as it caused errors

Note:
* WITH_INTERNATIONAL is enabled although this setting crashes Blender when compiling the Debug target - seems to work for other people though? If you encounter problems, try disabling this.
2010-05-27 18:22:50 +00:00
717701ed0f Fix #22422: Adding a new shape key with unchecked 'Relative' checkbox crashes blender
Reorder callning of add_keyblock and do_ob_key in insert_*key.
do_ob_key shouldn't be called for object with uninitialized key blocks.

NOTE: this commit not fixing problems with slurph
2010-05-27 14:00:32 +00:00
Nathan Letwory
8f8c59903d Small typo in help text. 2010-05-27 12:46:42 +00:00
d8106205db Fix #22401: BLI_thread_is_main function does not work properly on
64-bit Windows, fix provided by Tamito Kajiyama.
2010-05-27 12:40:12 +00:00
5d6bdd7c2e Various constraint code cleanups:
1) Fixed some weird formatting introduced during math-lib cleanups, and some other inconsistencies
2) Optimised the Maintain Volume constraint by taking the value calculations out

Copy All Constraints Operators:
* Added one for bones too
* These are now included in the menus
* Removed some weird/extra code copying/changing/bleh the actcol/totcol stuff...
2010-05-27 11:56:31 +00:00
e689ca078d rename curve 'point' to 'co', the property name used verts, bezier points and keyframes. 2010-05-27 11:25:07 +00:00
4ebc634168 == Pivot Constraint ==
This constraint allows an object or bone to have their rotations applied as if their origin/pivot-point was located elsewhere. The most obvious uses include foot-roll, see-saws, but could also include more complicated rolling-box examples.  

== Usage Examples ==
=== Foot Roll ===
1. Add 'Pivot' Constraint to the bone without any target.
2. Set the 'Y' value of the offset to the length of the bone. Usually this should be negative (if you rig with feet facing 'forwards' along -Y axis). This gives you a pivot point relative to the bone's (preconstraint) location, which should be at the tip of the bone here. Disabling the 'Use Relative Offset' would make this offset be relative to 0,0,0 instead of to the owner/bone-head.
3. Ensure that the 'Pivot When' setting is set to '-X Rot', (default) which means that the pivot will only used when the rotation on the X-Axis is negative to get tip-toe 'roll'. 

=== See Saw ===
1. Add a 'Pivot' constraint too see-saw plank object, this time with a target that you wish to have as the pivot-point. It's possible to do this without too (as before), but is less intuitive.
2. Optionally, if you want the plank slightly raised, set the z-offset value, which should make the pivot-point used to be relative to the target with the z-offset applied.
3. Ensure that 'Pivot When' is set to 'Always', which means that the pivot will always be used, irrespective of the rotation.

== Notes ==
* The 'Pivot When' setting has been integrated in the constraint, since this is something that will often be required for these setups. Having to set up additional drivers to drive the constraint to do this kindof beats the purpose of providing this.

* The 'Offset' functionality is probably not presented as clearly as it could be. We may need to go over this again.

* For foot-roll - if any scaling of the foot is required, simply set up a driver on the y-offset to make this dynamically respond to the "scale" RNA property of the bones (don't use the "Transform Channel" vartype since that won't work correct here). However, this shouldn't be common enough to warrant special treatment.
2010-05-27 10:50:06 +00:00
a9773aeec0 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28753:29022 2010-05-27 09:23:26 +00:00
135f8be2c7 Small bug fix:
The array of string names for CD layers was missing a few. Added them back and organized a bit for clarity.
2010-05-27 08:42:59 +00:00
Dalai Felinto
e4530c47f0 Logic Editor: fix for datablock counting when copying/deleting sound actuator
("bug" from 2.49)
2010-05-27 08:34:32 +00:00
6e92ddf8b3 Progress indicators for threaded jobs
Now, rather than the bit-too-alarming stop sign, threaded wmJobs 
display a progress indicator in the header. This is an optional feature
for each job type and still uses the same hardcoded ui template
(could use further work here...).

Currently implemented for:
Render - parts completed, then nodes comped
Compositor - nodes comped
Fluid Sim - frames simulated
Texture Bake - faces baked

Example: http://mke3.net/blender/devel/2.5/progress.mov
2010-05-27 08:22:16 +00:00
Dalai Felinto
ec70356424 Logic Editor: ops forgot this small fix on last commit 2010-05-27 08:12:32 +00:00
9852543154 make bpy.ops.object.select_name(name) also make the object active since Alt+RMB wasnt setting the object active.
if other tools need this not to switch the active object we could make setting active an option.
2010-05-27 08:09:25 +00:00
Nathan Letwory
ef0239fa6f Update description after 29013, which added windows support for this. 2010-05-27 07:45:57 +00:00
Dalai Felinto
8872cba7e9 Logic Editor: removing usercount for existent datablocks
Using custom setfuncs to avoid increase/decrease of usercount.
That way nothing stops you from removing a material that is used by a
sensor, or a mesh, an action ... (this is how 2.49 works too)

* also some general code cleaning/fix (adding static casts, replacing libaddr_us by lib_addr for dome text (I had no idea how user count worked back then)
2010-05-27 07:37:09 +00:00
0db16ff434 fixed typo that prevented tiff support from being enabled by default 2010-05-27 06:08:48 +00:00
f05e79c2ae Warning fixes 2010-05-27 04:54:53 +00:00
Nathan Letwory
31fe70019d Add floating-point exception handler trap for Windows (MSVC). Now you can set breakpoint on fpe_handler on Windows too when debugging floating-point funkyness. 2010-05-26 23:03:25 +00:00
d400c083b8 Tiff Image Format was not displayed in the "file_format" menu. Scons was missing declaration for it. 2010-05-26 20:09:26 +00:00
ad02ae8e70 display errors for mesh deform, useful to help find out why mdef isnt being applied. 2010-05-26 18:16:16 +00:00
Nathan Letwory
d17c4e2f91 Copy zlib.dll for win64 too. 2010-05-26 11:25:33 +00:00
37fab4a3e1 bugfix [#22426] New Thumbnail code crashes when saving
patch from Ken Nign (ken9). (modified slightly)
2010-05-26 10:52:39 +00:00
440917cb0b Fix [#22418] Displace Node also makes entire image fuzzy
Changed displace node sampling to use EWA filtering, and removed old hacks 
for calculating derivatives - I think it should be generated correctly now.
2010-05-26 08:06:51 +00:00
d4ca9be709 * Added a few new customdata types:
* FACEGRID will be the new way all CustomData for multires gets stored. Its backing type is CustomData. It's intended to be used in the CustomData for mesh faces. This is similar to CD_MDISPS, except that instead of storing just triples of floats, we can store a grid for any type (so long as there's a CustomData layer for it.)
* CD_DISP will be the replacement for CD_MDISPS. It's a triple of floats.
* PAINTMASK is simply a layer of floats; will be used to describe the intensity of the mask at each vertex (or at each grid point for multires.)
2010-05-25 19:50:15 +00:00
45eb1629b0 * Added a temporary operator to set masks, does nothing yet
* Added a temporary UI for the temporary operator for testing
2010-05-25 19:13:37 +00:00
244cda6f1a NULL check for parent with do_versions(),
this is also done in the 2 others places in the code which get the parent.

 In our case the crash was caused by a group not containing the parent object.
2010-05-25 18:31:36 +00:00
1bd58bdbf4 = misc small stuff =
- own mistake in scene help text.
- rename properties to have users as the prefix for better ordering.
- use fixed height for stamp, gives better aligned text.
2010-05-25 17:04:32 +00:00
2a337e6093 Merge with trunk, revision 28977 - 28981 to get Dalai's armature fix. 2010-05-25 15:35:34 +00:00
Dalai Felinto
13f1ce8bdc fix for recent commit "armature conversion to modifier" (armature->deformflag crash on doversion)
reported by Joerg Mueller (Nexyon)
2010-05-25 15:26:12 +00:00
f7c4dd6d56 Merge back a few cloth solver fixes from the render branch:
* Disable openmp for dot product, this gives different results each
  time due to non-commutative floating point add.
* Disable openmp with few vertices, the extra thread overhead only
  slows things down then.
* Replace the hack that would divide stepsPerFrame and then set it
  back, now it simply uses the timescale in the collision function.
  This was incorrect because stepsPerFrame is an int, but we don't
  want this to be rounded.
* Extra out of bounds check for hair velocity smoothing grid.
2010-05-25 13:33:59 +00:00
857f14714a Merge with trunk, revision 28528 - 28976. 2010-05-25 12:40:33 +00:00
Dalai Felinto
5416f51b7a BGE Fix for: [#22142] Armature deformation does not work in Game Engine. + parent type to modifiers doversion(). Patch by Xavier Thomas (xat)
This fix the problem of not being able to play animations created with Blender 2.5 in BGE. Patch reviewed by Benoit

Added also other parent to modifier conversions as requested by Joshua (aligorith). I didn't bump subversion here, but the patch should work still. If not I'm increasing subversion sooner anyways (tomorrow or by the middle of the week I hope).

I was waiting to commit this one together with the Logic Editor datablock patch (converting material_name DNA properties to struct Material *). However my patch is getting too big and it's better if it's alone (easier to analyze later, eventual fixes, ...)

Mitchell, this commit adds a function that can help hardware skinning - HasArmatureDeformer()
2010-05-25 08:42:11 +00:00
e26cc71bd0 Tweaks to copy game properties operator for Dalai 2010-05-25 06:24:45 +00:00
c9ac1cc986 fix for 2 warnings & better error checking for the thumbnail loading. 2010-05-25 05:56:31 +00:00
c61e25e6ac blend file thumbnailing
- uses same thumbnail system as image browser
- blend files show thumbnails in ubuntu/gnome (freedesktop spec)
- 128x128 images are embedded into the blend file header, a simple loader avoids reading the entire blend file to extract it when generating thumbnails in the file selector.
  When the image browser reads a directory it loads images and creates thumbnails, blend files embedded images are treated just like loading an image.
- the thumbnail is created from the camera view in solid mode. (no camera == no thumbnal).
- readfile/writefile.c: had to use the 'TEST' code name to save thumbnails, anything else would segfault older blender versions on load. (its not used elsewhere).
2010-05-24 21:52:18 +00:00
3332b2b29e Update MSCV9 project files 2010-05-24 21:10:58 +00:00
671684c539 OSX Intel: Enable floating point exceptions (for debugging purposes)
From Matt's patch [#22408]
2010-05-24 20:39:01 +00:00
bd15f5122d BLI_args cleanup
Adding documentation strings in argument data.

--help is auto generated (options not manually categorized end up in the "others" section at the bottom)
2010-05-24 18:53:45 +00:00
be44a3b7c4 Makefiles: set BF_OPENCOLLADA_LIBS for darwin so that it links when opencollada is enabled 2010-05-24 16:12:58 +00:00
2d450c9e58 Changed BF_TIFF_LIB from libtiff to tiff for MinGW 2010-05-24 16:07:17 +00:00
0ae967e665 sound sequence strip wasnt handled by path functions correctly.
fixes make relative/absolute for sound sequences.
2010-05-24 14:41:35 +00:00
4324dc8389 Changes for static linking to libtiff when compiling by MinGW:
- Use static tiff libraries from lib/windows/gcc in
  scons configuration files
- Commented libtiff.dll installation in SConstruct
2010-05-24 12:41:14 +00:00
8c767ce0e8 utility function for mesh data types
mesh.edge_loops_from_edges(edges=None)

Lets you get edge loops from python either from the entire mesh or from by passing an edge list.
2010-05-24 12:18:12 +00:00
4178b44b35 - correct --help message
- fix implicit decloration of DAG_scene_sort()
- same fix for tiff as made in renderbranch
- rename 'combined peak' --> 'peak' for shorter messages while rendering.
2010-05-24 11:40:45 +00:00
Dalai Felinto
6c01b7b4f8 Logic Editor - fix for Keyboard Sensor + Copy Game Property fancy submenu
* Keyboard Sensor entry keys (key, modifier 1 and 2) can actually be any key
- (you can use Shift as main key, and D as modifier if you want). It's
- strange in my opinion, but it's 2.49 way of doing it.

* Copy Game Property (operator found in SPACE menu)
- reorganized it so the properties appear as submenu items.
- a "little lot" of work for such a small eye-candie but well I hope more
- people like it as well :)

Matt, I had to recreate the dynamic_enum to make it work. I'm count on you
for a real fix for this ;)
2010-05-24 10:38:05 +00:00
9777072c0e Fix [#21521] Displacement modifier does not update when modifing texture
Depgraph now handles texture dependencies - textures can affect objects/data via modifiers.
2010-05-24 07:30:50 +00:00
a1ada0f21c - remove OBJECT_OT_curve_add
- rename CURVE_OT_primitive_bezier_add --> CURVE_OT_primitive_bezier_curve_add # matches nurbs operator
- rename CURVE_OT_primitive_curve_path_add --> CURVE_OT_primitive_nurbs_path_add
- fix for warnings from 28923
2010-05-24 07:14:55 +00:00
5664c0397c Fix [#22278] Colour Balance Node HSV Value slider range is insufficient. 2010-05-24 02:05:23 +00:00
4e70cd4a52 Fix [#22382] Text Editor properties pannel scales, not scrolls, with MMW 2010-05-24 01:23:46 +00:00
3aab8f245a bugfix [#22398] Black spots on reflecting surfaces when using Environment Light with HDR
acos() was being called with a value around  '-1.000001' because of float precission error.
2010-05-23 21:38:27 +00:00
735559f0da Fixes for cross-compilation:
- Set env['CC'] and env['CXX'] as default values for
  CC and CXX variables. This fixes problem with overwriting
  auto-guessed compilators when reading config files
- Added new prefix for mingw tools
2010-05-23 21:20:13 +00:00
a97904cbcc GNU style long arguments. see help menu.
- swapped meanting of -y/-Y to enable/disable automatic python execution (matches window border -w/-W).
- removed '-B', no reason to have this.
- renamed -fpe to --debug-fpe and added to --help
2010-05-23 20:39:21 +00:00
3251d9d523 was curious if makefile still worked. they didnt, found 2 problems
- use our own openjpeg.
- libXmu isnt found/needed on ubuntu 10.04, removing, can add back if it breaks for someone else.
2010-05-23 17:45:08 +00:00
70905d06f1 add new object py module.
- added view align from twisted torus script and return the object's base.
2010-05-23 12:38:49 +00:00
f1b9d395e3 - base_object.layers_from_view(view3d), needed for setting local layers
- module 'add_object_utils', so each script doesnt need its own add object code, dealing with layers, scene, cursor location, editmode etc.
2010-05-23 12:14:07 +00:00
c249d2b95a view3d - dont draw loose edges with render-override is enabled. 2010-05-23 10:48:35 +00:00
a9072177ba opengl render option 'view_context',
When enabled the context's 3D view will be used for rendering.
When disabled a camera view with solid draw mode will be used.

(Needed for batch rendering out animation previews without having to worry about an existing 3D view, its local layer locking and draw type)
2010-05-23 10:47:19 +00:00
d1d7c5fbd1 remove some warnings and remove reference to BF_TIFF_LIB in the help message. 2010-05-23 07:53:09 +00:00
c9d4672edc [#22301] Fix for 22300 : Blender 2.52 FBX exporter doesn't export correct FBX
patch from Mariusz Borsa (wrotki) 

edited the patch to stay closer to the original function.
2010-05-23 06:43:43 +00:00
a368bdad8d [#22391] Fix for eps-export of UVs
patch from Marc Fontaine (cubbie)
2010-05-23 06:00:08 +00:00
b5afa606bc replace context.areas.spaces[0] with context.space_data 2010-05-23 05:34:45 +00:00
3d417a833c 2010-05-23 02:02:04 +00:00
1a2ba8072e bugfix [#22390] Lamp drawing circle bug
was drawing the circle when out of view.
2010-05-22 11:58:21 +00:00
93f5303e3f Fix [#22306]: convert dropped file names from OSX to correct char encoding to handle non 7-bit ascii chars (e.g. accents) 2010-05-22 07:32:55 +00:00
63db7c6116 Graph Editor Selection Fix for Durian:
Animators were having trouble selecting keyframes and their handles when zoomed in extremely. This commit seems to fix these issues, which appear to have resulted from some overflowing ints, which gave out-of-view handles priority quite often.
2010-05-22 04:54:34 +00:00
db6a7280ce Makefiles: fix building on linux/ppc 2010-05-21 21:58:37 +00:00
c0a0f2c43e Makefiles: make sure syntax is correct... 2010-05-21 21:26:03 +00:00
bb85284228 Makefiles: statically link tiff libs when WITH_TIFF is set to true, which is the default for all platforms 2010-05-21 21:06:00 +00:00
9f7c04944a Removed unused argument mmd from multires reshape functions. 2010-05-21 14:18:07 +00:00
64d057e887 Bugfix: #22385: Shift-click in NLA does not do 'extend' select
Caused by typo in selection flags code.
2010-05-21 13:01:18 +00:00
391c5fba71 Motion Paths: Experimental optimisations from joeedh for speeding up the calculation process
This works by tricking the depsgraph into giving us a smaller list of objects to evaluate, with all the necessary objects + their dependencies at the start of the list. 

On any complicated setup where non-object parameters need to be referred to (i.e. by drivers) to affect an object's transform, these optimisations will fail and the old (slower) method is still the best way (modify the ifdef and comment out the optimise depsgraph call to do so). However, we'll assume that these aren't too common in real productions, so things should be fine with these fixes. If there really is a need for both, then global options to control these things could follow.
2010-05-21 12:17:34 +00:00
d5316387a4 -->Fix for bake with faces that have alpha
Baking for faces with alpha only worked if 'clear' was
turned off in bake options.
2010-05-21 09:58:26 +00:00
a17f074ffc Fix typo in add group instance menu 2010-05-21 04:44:23 +00:00
bd3bd5dea5 if libtiff not found disable on unix. 2010-05-21 04:40:04 +00:00
418f1fcba8 libtiff working on linux & cmake again. 2010-05-21 04:23:33 +00:00
2be851c966 Blender TIFF support
* Removed dynamic linking libTIFF code and change it to static linking 
(built into the blender executable). Dynamic linking made things a 
fair bit more complicated and wasn't working at all before on OS X - 
the dylib didn't exist and wasn't being copied. Since TIFF is more heavily
depended upon now in Blender, it makes sense to make it less 'optional'
and more in line with other libraries.

I've updated both CMake and scons, and CMake on OS X/64bit works fine.
It's now up to other platform/build system maintainers to enable this for 
their respective platforms (Campbell will check it for linux). For windows,
and non-64bit osx, we need static libtiff libraries in /lib.

I've added options WITH_TIFF for CMake and WITH_BF_TIFF for scons,
so if blender won't build because of this, you should be able to disable 
these options until your build system has been updated.

* Bonus feature: while doing this, I added support for loading 16bit and 32bit 
per channel TIFFs - they get converted to Blender's float buffers. Handy for 
zbrush displacement maps!
2010-05-21 03:25:38 +00:00
e8ed1f1f55 enable different rotation types for imported BVH's including 'Native', which uses the rotation order defined in the BVH 2010-05-20 17:36:59 +00:00
f37518d902 bugfix [#22311] BVH Import broken
from Stig Olavsen & Tod Liverseed
2010-05-20 17:23:37 +00:00
0ac1564f68 opengl render was freeing all images from the graphics card each update.
with some 4x4k and 4x8k textures this becomes very slow.

only free animated textures (movies and sequences)
2010-05-20 16:08:06 +00:00
4d6d68bfa1 obscure sounding feature thats actually useful: isolate render type
Select lamp, isolate, all other visible lamps are disabled.
2010-05-20 15:30:28 +00:00
f051cd2e89 merged 28885 frame update fix to trunk, slightly updated 2010-05-20 15:18:55 +00:00
7c52bc3c21 missed some boundbox's drawing when they shouldnt 2010-05-20 15:04:47 +00:00
768c0a4fa0 Quicky untested fix for MotionPath baking bug - heads/tails doesn't work (as reported by William). Hopefully this improves/fixes the problem. 2010-05-20 12:34:32 +00:00
89b7d4a5d6 Motion Path Tweaks:
- #22155: keyframe dots not shown on path for bone keyframes that aren't in a group with a matching name. Since this situation is going to become more common in 2.5, I've added an option which will alternatively just search the entire action to find all F-Curves associated with bones. The old option is still the default though for the general cases.

- When keyframe drawing is enabled, the current frame will also be indicated on the path now as a (bigger) green dot, as requested by William. This makes it easier to see the position on the path on the current frame.
2010-05-20 12:31:55 +00:00
66ef82f313 Durian Request: Panel for editing Keyframe values numerically
This panel allows editing of the coordinates of the 'first selected keyframe' on the Active F-Curve. That is, if you've got keyframes A (5), B (7), and C (12), and B & C are both selected, then the 'active keyframe' will be B. 

While I still think it's more efficient to use the cursor for batch-setting a bunch of keyframes, there are currently problems using that for sub-frame placement on the x-axis. 

Notes:
- There is none of the averaging crap from before, where no accurate value could ever be set. 
- Take care when setting the values of the handles, since getting correct F-Curve recalc flushing working via the RNA stuff is VERY TRICKY, and has been left out for now to get something workable. I recommend setting the values numerically, then grabbing these keyframes and immediately cancelling, to get these updates done.
2010-05-20 11:49:53 +00:00
86f71fad8b Bugfix #22374: index=-1 not work for keyingset.paths.add() function
Simple typo which meant that paths with 'Entire array' set could not be reimported properly.
2010-05-20 11:04:15 +00:00
014b6c0e89 Properly restored shift-up/down arrow as alternative hotkeys for jumping between start/end frames, as mentioned by venomgfx a while ago. 2010-05-20 10:03:26 +00:00
4d708a6aa9 only-render option now wont draw wire or boundbox unless in wire or boundbox draw modes.
note: Im not all that happy with where this feature is going in terms of readability, however preview renders are very distracting when physics meshes and bounding boxes are animating over the top of characters.
2010-05-20 09:17:49 +00:00
9d62acea67 some rna numbers were signed when they shouldnt be (simplify could have its subdivisions set negative) 2010-05-20 08:51:03 +00:00
79a45e75d3 view3d modal operator template 2010-05-20 07:49:41 +00:00
37ecf15f3f Bugfix #22204: curve modifier onto lamp energy with more than one user of lamp settings creates two modifiers
This was caused by the multi-user data appearing multiple times in the channel list. Now most editing functions filter out duplicates before doing anything to prevent these problems. 

Hopefully the additional cost of filtering the entire list an extra time won't be too much of a speed/mem hit...
2010-05-20 05:18:27 +00:00
96f529880f FCurve.evaluate() and bounds() patch from Dan Eicher 2010-05-20 04:44:10 +00:00
226140f2ee 3D View Header - Removing the annoying little extra gap between expand-icon and first menu 2010-05-20 03:52:35 +00:00
fcf4fcfbfc access to 3d viewport location, distance and rotation.
- rotation must stay normalized (not enforced since it could break calculations)
- view_location is flipped internally.
2010-05-19 21:10:46 +00:00
c877d2358d possible un-initialized value 2010-05-19 17:06:36 +00:00
7f575ddf89 revert 28807, fix for [#21385] Multilayer OpenEXR files import into other compositors upside down
looks like a threading problem:
 Easy to redo, 1024x436, FSA, 4 threads.

With 1 thread it runs ok, need to look into this further but no time now so reverting.
2010-05-19 16:23:09 +00:00
67a8b3d3e5 Compile fix. 2010-05-19 11:29:36 +00:00
7c866037a0 previous commit undid DingTo's re-arrangement. 2010-05-19 11:23:50 +00:00
Dalai Felinto
a7a9862cc9 Logic UI and Operators: adjusts on Layout + copy properties operator + fix on copy logic bricks operator (and moved to OBJECT_OT)
* adjusts on Layout:
 - in order to avoid much changes when copying Logics, it's nice to have the logic s/c/a always displaying even though it's not valid (e.g. edit mesh used from a camera object).
Now a message shows in the s/c/a alerting to the problem.

* logic operators under OBJECT_OT - copy properties and logics

Matt, is it possible to have the object game properties listed as a submenu from "Copy Properties" ?
So from the "Copy Game Property" menu we would have three options:
"Copy a property" -> (submenu) prop1, prop2, prop3 
"Replace all Properties"
"Merge all Properties"

For the current task list in Logic Editor:
http://www.pasteall.org/13245
2010-05-19 09:40:45 +00:00
2d343d0774 AnimViz UI Tweak - Made Motion Paths and Onion Skinning UI's more consistent in terms of how they deal with the current 'mode' 2010-05-19 09:22:24 +00:00
9a1d586cf9 fix for possible un-initialized variable 2010-05-19 08:44:38 +00:00
b7a7859eb0 render_ -> use_ prefix, copied from render branch. 2010-05-19 08:26:33 +00:00
a6b5cebc6c remove function to check for correct rv3d->perps, could crash in some cases and blender checks that its correct in the view3d code. 2010-05-19 06:07:05 +00:00
ff9bd252e8 rna property RegionView3d.perspective - ORTHO/PERSP/CAMERA
useful for setting the camera view from python
2010-05-18 21:01:22 +00:00
8ca3de6d63 fix for opengl render when called from python 2010-05-18 17:19:02 +00:00
9bf6ce5960 temp workaround for report/print conflict causing loaded libs to print twice in some cases. 2010-05-18 16:58:28 +00:00
25e740f29d bpy.app.background - so a python script can check if blender is running without a UI 2010-05-18 15:57:51 +00:00
88743740b8 dont use a thread for baking in background mode, its not really any advantage since it starts a single thread that runs a loop. 2010-05-18 14:38:25 +00:00
a6826584ef make pack all not back library data, dont attempt to pack image viewers or generated images. 2010-05-18 13:18:37 +00:00
ba728620ce text utility functions.
- st = text.as_string()
 - text.from_string(st)
2010-05-18 09:07:58 +00:00
496be8244e fix for crash baking in background mode. 2010-05-18 08:10:05 +00:00
9862d29a9b Fix [#22303] bpy.ops.image.reload(); texture-button is always inactive 2010-05-18 07:59:40 +00:00
0a9d914ad7 context.PointCache --> context.point_cache (not to confuse type with property name) 2010-05-18 07:39:07 +00:00
e3587f9e9f Fix [#22304] Tiff 16bit gives darker images
Also fixed similar issue for jpeg2000
2010-05-18 07:28:44 +00:00
cf4f5c4497 Fix : Preview render wasn't updating when switching pinned materials (and other types) 2010-05-18 05:40:30 +00:00
10f5be4fbf Fix [#22345] ReleaseRenderOpt 2.5 Problem with rendering displacement map
Communicate the existing material displacement feature's strange dependence on both
'normal' and 'displacement' influences better. This will do until the improved displacement
is merged from render branch.
2010-05-18 03:10:47 +00:00
45444ceee3 include game engine docs in sphinx doc generation:
bge.events, logic, render & types (others still need work)

Updated http://www.blender.org/documentation/250PythonDoc
2010-05-17 20:38:54 +00:00
3a12668e92 epydoc to sphinx markup for GameLogic module 2010-05-17 19:52:25 +00:00
9c3c7f970f no functional changes, simplify some exr api code. 2010-05-17 16:42:53 +00:00
26ded51077 add back codecs UI for exr (from previous patch) 2010-05-17 16:38:20 +00:00
d5f74baa17 [#21385] Multilayer OpenEXR files import into other compositors upside down
famous upside down EXR bugfix from Xavier Thomas

- Files from blender 2.4x will be flipped on load.
- New files will be saved correctly

tracker has detailed info for further reference.
2010-05-17 15:54:57 +00:00
443d269ca2 * Screw Modifier was not alphabetical correct in the list. 2010-05-17 14:56:00 +00:00
86f11345c4 Image Formats RNA:
* Removed references for R_MOVIE and R_HAMX. (these formats have been removed in the Imbuf cleanup.)

* Alphabetical order of Image Formats.
2010-05-17 14:47:46 +00:00
01b16aea59 Decimate Modifier UI:
* Changed Face Count button to a label.
2010-05-17 13:48:09 +00:00
dbb914becc blf docstring fix from Moguri 2010-05-17 07:33:37 +00:00
dc0edfd665 Drivers Bugfix:
Renaming bones now correctly fixes drivers referencing those bones. This includes driver paths and driver variables.
2010-05-17 04:22:41 +00:00
882ae4ea8f convert GameKeys epydoc into sphinx markup 2010-05-16 23:25:05 +00:00
d8eace82d1 convert Rasterizer module to sphinx 2010-05-16 23:13:30 +00:00
9df8552ce3 convert GameTypes from epydoc into sphinx compatible markup, also removed deprecated functions 2010-05-16 22:57:22 +00:00
d33cef6974 Fix for compilation with newer ffmpeg library
Error was cased by undefined UINT64_C in stdint.h for c++
programs. As I understand from ffmpeg mailing list the simpliest
solution is to define __STDC_CONSTANT_MACROS before including
ffmpeg libraries. There already was some amout of such definitions in
the code and I've tested this with newer and older ffmpeg
libraries -- this should work and should be safe, but maybe
there is better way of fixing this problem.
2010-05-16 19:41:49 +00:00
b65cc25be3 [#22114] Manipulator Transform Orientation not respected
Potential fix (the error would explain the gimbal case, not the normal case. Also, it doesn't explain why it worked from time to time on other platforms).
2010-05-16 17:01:05 +00:00
Dalai Felinto
ce6e6112eb Logic UI: copy logic operator (old Ctrl+C) + add logics (shift+a)
According to Matt the RMB->Copy to selected wouldn't work for logics because the copy we need is for the whole logic (s/c/a). So (at least for the time been), copy logic is possible again.
It work as 2.49 (replacing the existent logic).

Add Logics is a python menu to give quick access to add logics. I have to see how to put that in Add Menu. I should be easy, but I'll leave it for later.
2010-05-16 16:28:50 +00:00
80de1162ee clear some pep8 warnings 2010-05-16 12:15:04 +00:00
6e66bfe110 Removed obsolete comment for previous commit 2010-05-16 11:43:48 +00:00
5cd2e563d1 Keying Sets Bugfix:
Editing the settings of the active (absolute only) Keying Sets is now possible again.
2010-05-16 11:42:54 +00:00
e1bf9d30bc Properties Window:
*The narrowui value was hard coded in all ui scripts, made an user preferences option. Basically this value determines on which area width, it should switch between dual/single column layout. 

ToDo: The Changes only take effect when reloading scripts/restarting Blender (after saving as default). Will maybe add the "Reload Scripts" operator next to the button in the future. 

* Small fix for Fluid Add Button, when in single column mode. Didn't expand like the other "Add" Buttons.
2010-05-16 10:21:00 +00:00
c2ffcb8497 no functional changes
- add PySequenceMethods members (all NULL)
- spaces -> tabs
- cmake syntax warning from recent ghost commit
2010-05-16 10:09:07 +00:00
91a6fb4b5c Some Renaming:
Render:
*antialiasing > render_antialiasing
Mist:
*enabled > use_mist
Stars:
*enabled > use_stars
2010-05-16 08:36:29 +00:00
05eeee3fe3 bugfix [#22325] bpy.ops.import is invalid name 2010-05-16 08:30:40 +00:00
b9662fc637 patch from Dan Eicher
- pose markers new/remove
- font load/remove
- world load/remove
- particles new/remove

commented out node-tree for now since from what I can tell these have to be atteched to material/scene/texture (unlike other ID types)
2010-05-15 13:30:14 +00:00
ae23308dd6 made cmake ghost file less confusing (was globbing then removing files for each system). 2010-05-15 12:16:19 +00:00
95366b3fbb FIX: Enter didn't work in filebrowser when mouse inside icon or preview
Note: This is yet another problem that results from the fact that the icon/preview in file browser is now a button rather than just drawn as an image. (Similar to LEFMOUSE not working in filebrowser). This should be checked on as the fix might cause issues in the future when using image drag buttons in other parts of Blender.
2010-05-15 11:52:59 +00:00
3db490d20f Make creating and saving previews for Lamp, World, Texture, Material and Image datablocks consistent.
- For now the larger previews are created at the same time the small preview icons are created 
- This brings back the previews when appending/linking
2010-05-15 10:37:21 +00:00
21bc4114df Tweak to previous commit - the corrections shouldn't be done for translations, since that causes too many problems. 2010-05-15 03:55:34 +00:00
ef840868a3 Durian request: Attempted fix for rotations not taking non-uniform scaling of Graph Editor views into account.
With this fix, handles do not appear to rotate as violently as before, though this correction may still be too subtle to be noticed by many users.
2010-05-15 02:40:44 +00:00
Dalai Felinto
6d7a586697 Logic UI: setting all State temporarly to 1 when clicking in ALL (so it's more informative I think) 2010-05-14 23:09:55 +00:00
cd6332ca1e patch from Dan Eicher
rna add/remove functions for lattices, brushes and metaballs
2010-05-14 21:16:37 +00:00
0790df09b7 fix for hair distrobution changing when rendered with a different number of threads (manifested flickering hair back from renderfarm) 2010-05-14 18:09:59 +00:00
9fd9ea135b noticed thread count was wrong in help message. 2010-05-14 14:53:00 +00:00
5b4f264bad == filebrowser ==
* small update for thumbnails, now the thumbnail thread only runs when the filebrowser is in thumbnail view. (Thread was still running previously, even if it did nothing)
* this allows workaround for slower network drives, so the user can prevent thumbnail generation when not displaying them.
2010-05-14 10:50:43 +00:00
Dalai Felinto
8b4b68becb Logic UI: add name option for add operators + ALL button in controller states is working now + fix for actuator STATES filtering option.
Extra comments related bugs:
1)"actuators_show_active_states" doesn't seem to produce any effect (maybe because PIN is not implemented yet? therefore it's always on?

2)If you set the name to be bigger than 32 it will crashes blender (somehow for s/c/a the get function instead of using the defined 32 maxlen it's using 160 (from UserPrerencesFilePaths_python_scriptsdirectory_get ),

3)properties currently can have the same name as s/c/a and they shouldn't.

4)we need an option to show and/or set the STATE of a given controller (in 2.49 it's the number by the controller name)
2010-05-14 10:45:50 +00:00
56808c6d75 Fixes for crashes when trying to add/remove properties from builtin Keying Sets, which shouldn't be editable in this way. 2010-05-14 10:28:29 +00:00
c598d90899 Sphinx theme from Alex Sytnik (smerch) for API Docs
You wouldnt know its not blender.org :D

http://www.blender.org/documentation/250PythonDoc/mathutils.html

from revision 39 of https://svn.blender.org/svnroot/blend-doc/trunk/python/doc
2010-05-14 10:21:57 +00:00
03f983da85 Makefiles: fixed opencollada include path 2010-05-14 08:16:45 +00:00
02b8d3ca0f Disable thumbnail generation when the thumbnail view is not enabled,
was slowing down browsing on NFS.
2010-05-14 07:21:29 +00:00
0524fc1df6 Fix [#22337] Wrong operator descriptions 2010-05-14 07:20:16 +00:00
2798852903 Fix:
[#22310] Duplicate Does Not Propogate SimpleDeform's VGroup
[#22321] duplicating object with smoke settings doesnt duplicate smoke settings

^ Genscher, you may want to check that but I thought it was pretty straightforward.
2010-05-14 07:09:15 +00:00
1145425a57 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28663:28753 2010-05-14 01:42:42 +00:00
d885635216 Fix #22137: Shrink wrap modifer with curves, projection bug
Always pack DispList into one block for deformation modifiers and
create DerivedMesh for all curve objects passed to get_dm. This would
fix problems with modifiers when they're creating dm for
additional information (as it's made in shrinkwrap for normals).

Small additional code cleanup in curve_calc_modifiers_post().
2010-05-13 19:23:52 +00:00
dffa42e636 use ID_REAL_USERS macro 2010-05-13 09:22:05 +00:00
761f240a26 Bugfix #22319: Cannot convert ShapeKeys into NLA strips
Typo for which ID-block got passed for shapekeys...
2010-05-13 09:14:58 +00:00
4f77bea8f6 restrict render_clear was operating on hidden objects, now work on selection 2010-05-13 07:53:06 +00:00
2b44cab9ef Tweak to text editor context menu 2010-05-13 01:46:48 +00:00
db0733eb12 remove use of global 'G' 2010-05-12 22:47:37 +00:00
d0802b4db2 Bring back the pupmenu for "select object in the same group"
when the object have more that one group.

I put a XXX because the selection function use G.main to
get the group, probably we need a CTX_DATA_BEGIN for
groups ? Brecht ? Campbell ?

I make a new operator for the pupmenu, it's only for the
selection menu, so don't have any key binding.

Matt, can you check ?
2010-05-12 22:29:32 +00:00
98e0b07b51 Node Space: tweak the zoom in/out value.
Venomgfx request to allow more zoom in/out value.
Also put the code to path old files, so in the next
subversion bump we need move the code.
2010-05-12 18:51:36 +00:00
5f6c7ad23d Composite Node bug: the CTRL+SHIFT+Click to make a node connect to
viewer didn't take hidden sockets in account.
2010-05-12 17:27:25 +00:00
3c3502fda4 Small change to Node Space and two new function.
"Select all of the same type" now is binding to Shift + GKEY

Two new function, select next and prev node of the same type.

Select a node and press Shift + [ or Shift + ] go to the
previous and next node of the same type (of the active node).
2010-05-12 13:55:09 +00:00
9a4ba57ee9 Node Space: Small feature for Venomgfx, Shift + F select node of the same type
This is a small request from Venomgfx, select a node
and then press Shift + F to select all the nodes of the
same type (of the active node).

The key binding can be change, we thing in a "Find Next" (that is
way the FKEY) with venomgfx, but no problem with change that.

Also I add the entry in the select menu.
2010-05-12 12:03:38 +00:00
Dalai Felinto
285a73d274 Logic UI: Controller header, moving the text to the left 2010-05-12 08:53:44 +00:00
Dalai Felinto
e544530226 Logic UI: Controller State
http://www.pasteall.org/pic/show.php?id=3255

New design, with an option to hide/unhide it.

Matt:
1) the way I managed to have the I selected is kind of nasty :) but I think it will have to wait for proper icons.

2) the ALL is so far only working visually, It's still have to change the code to make all sensors and actuators visible when ALL is on. I think this is better than actually marking all states as before (2.49). Maybe it's even nicer nice to have not only have the states disactivated (in gray as they are now), but also to show them as temporary marked. Is that interesting/possible?

3) Can't centralize it :(

4) I think you are right, the icons are nice, but uninformative ... for someone else curious:
http://www.pasteall.org/pic/show.php?id=3254
2010-05-12 08:34:15 +00:00
4cc49ad899 Add a little RMB context menu to text editor 2010-05-12 08:03:36 +00:00
7aa907c996 Another one for drag and drop:
Allow dropping image files from outside blender, or image datablocks from inside blender
to the compositing node editor, to add an image node.

Also small tweak: Only set 'path' properties on drops, if the drag->path isn't empty.
2010-05-12 04:25:33 +00:00
d153850520 fix for hanging while drawing fcurves, the function made some attempt to avoid the problem but when the view is zero pixels wide it still hung for some time. 2010-05-11 21:46:20 +00:00
3088bda1b7 drawing volume had a buffer overrun in some cases 2010-05-11 20:38:01 +00:00
aaa7c493e4 merge of last commit to trunk 2010-05-11 20:06:20 +00:00
3409eb429e fix for crash reading pointcache, was reading over the buffer size, use lzo1x_decompress_safe rather then lzo1x_decompress 2010-05-11 19:37:17 +00:00
c3dbd2a46b Dropbox refinement in 3d window: the "drop image" dropbox checks for
object under mouse cursor. If not, another dropbox operation can be used.
2010-05-11 14:25:48 +00:00
e8408697de bpy.utils.blend_paths(absolute=False) (was Blender.GetPaths in 2.4x) 2010-05-11 07:08:32 +00:00
Dalai Felinto
8828234902 Logic UI: using the RNA interface as default - commit pre-subversion bumping (i.e. no DNA changes here)
Also: extra set funcs, layout adjustments

The patch for the subversion commit was getting too big, and it will be hard to distinguish what was essentially do_version + DNA changes and what was layout adjustments.

So this is the first part of the commit. The next may take a bit more because I'm not so confident in my readfile changes.
2010-05-11 06:56:59 +00:00
daba1d23ff utility functions
bpy.utils.smpte_from_seconds(time)
 bpy.utils.smpte_from_frame(frame)
2010-05-10 20:41:01 +00:00
a2166e5bc1 make python keyframe insert and delete functions use keyword arguments 2010-05-10 18:47:03 +00:00
9502fb0dcf Wrong operator description in preset base class. 2010-05-10 18:04:04 +00:00
68376214b5 Themes "3D View":
*Minor code changes and added some missing edge settings.
2010-05-10 17:54:34 +00:00
8d9e55122f "Every Nth number of Points" operator for curves/surfaces
This is replacement of old "Select every Nth" operator with
de-select strategy to make the same behaviour as for meshes.
2010-05-10 17:32:11 +00:00
50b4129398 Recommit fix that I seem to have uncommitted accidentally, had the fix
still in my source tree but svn wasn't showing any diffs.. weird.
2010-05-10 15:02:37 +00:00
3c7ec333ce remove usless ../../ with 'Make Paths Absolute' operator 2010-05-10 12:58:21 +00:00
6321838cce Tweak for elubie, scroll main file selector window immediately when newly added
folder is out of view.
2010-05-10 08:57:58 +00:00
6a74c16af7 Fixed a crash when dropping items on the 3D View background. Todo: Make it add a backdrop image ;) 2010-05-10 08:05:31 +00:00
4b79effc80 Enable external drag/drops into text editor 2010-05-10 06:29:34 +00:00
523f8e3557 Give Sensors/Controllers/Actuators more sensible names when they're created
(based on their type)
2010-05-10 05:46:01 +00:00
f9495c7bef Added search list widget for 'actuator sensor' too. 2010-05-10 04:59:44 +00:00
1e0caad5da Update Armature actuator UI to use pointer list widgets, rather than text entry fields 2010-05-10 04:49:09 +00:00
bd4fe1b71d Fix for histogram Luma mode not working when waveform is in RGB mode.
Also unified the scope vocabulary.
2010-05-10 03:42:22 +00:00
413c4c91ca Fix [#22296] Wrong Operator Names? 2010-05-10 01:49:35 +00:00
d384174b45 Tweaks to image editor scopes, while testing a bug 2010-05-10 01:46:44 +00:00
29ba391a16 Turned on auto-execute python scripts by default, as agreed in recent meeting.
Also added notice to download page:
http://www.blender.org/download/get-25-alpha/

Which links to here, too:
http://wiki.blender.org/index.php/Doc:2.5/Manual/Introduction/Installing_Blender/Security
2010-05-10 01:44:55 +00:00
e8a2059b84 Improved the Ray Sensor UI in the updated Logic Editor. 2010-05-10 00:12:36 +00:00
5afb24cedb Added backspace as an alternative to the X key, for deleting things. 2010-05-09 21:37:53 +00:00
95bb364bda ***Drag and drop fun!***
Added ability to drag images and movies directly onto objects to assign them as textures.

You can drag them from the file browser, directly from the OS or even from other apps. Here's a video to demonstrate:

http://www.youtube.com/watch?v=fGe2U8F_JvE

Ton wanted to show me how to add it, but he ended up doing almost all of the coding himself ;)

Ton/Matt: Dropping a text file in the Text Editor fails for some reason. It aught to work - probably a keymap conflict of some sorts?
2010-05-09 18:07:17 +00:00
6d8cb93f71 building docs failed when the output directory didnt alredy exist. 2010-05-09 17:18:57 +00:00
46a40c9905 minor cmake changes
- only give quicktime option for apple and windows
- disable collada by default on non-apple-unix since its not in debian repo
2010-05-09 14:43:31 +00:00
80f6671dfe Some more IPO > F-Curve renaming in RNA. 2010-05-09 09:49:55 +00:00
d4ce8a7717 Renaming IPO > F-Curve in the Logic Editor (Layout Engine version) 2010-05-09 09:43:49 +00:00
c7a6bf6fc2 2.5 Constraint UI:
* Slight alignment change in header, to match modifiers box a bit better. Basically the "name" filed expands with the size of the properties panel now, which looks better imho.
* Code cleanup: Removed some old drawing functions, and the Python Constraint UI Code, which was not functional anyway.
2010-05-09 08:33:18 +00:00
438a5b22fd * Small refactoring to improve readability, no functionality changes.
* Replaced the invert and add parameters of disp_run to a single DispOp parameter. This makes explicit that we can CALC disps, APPLY disps, and ADD disps.
* Renamed "mat" in disp run.
2010-05-09 04:23:51 +00:00
d92751fb33 missing arg from docstring 2010-05-09 00:37:12 +00:00
d73af20b7a py/rna: defining new properties now replaces the old onces and raises an error if they collide with dynamic props. 2010-05-09 00:06:35 +00:00
5548e86795 function to remove property
eg:
 bpy.types.Scene.IntProperty(attr="myprop") # adds
 bpy.types.Scene.RemoveProperty(attr="myprop") # removes
2010-05-08 23:34:54 +00:00
Dalai Felinto
94cd746566 Logic UI - lookup for properties (matt need your help to finish it)
I based this code on drawnode, so I hope this is the right way of doing this.

Working Sensors:
- keyboard
- property

Working Actuators:
- property (partly)
- ipo
- action
- shape action
- message
- random

Need help with:
- actuator sensor
- property actuator (for the second object)

- touch/ray/collision sensors + constraint actuator
(for the material lookup, not the property one)
maybe a doversion + changing the type to material work better here
(as we have in touch sensor)

+ added notifier for the game property.
2010-05-08 22:11:00 +00:00
5be1fd3592 == filebrowser ==
- smooth scrolling to editable button after new directory is created
(for now scrolling starts as soon as the mouse moves back to the file list area, for Matt to check if immediate scrolling is possible)

- fix for autocomplete directory, show first matching part if directory doesn't exist, otherwise won't work for directories starting with the same prefix like textures_walls and textures_grass for example.
2010-05-08 21:02:22 +00:00
9aa39368cc == MSVC projectfiles ==
- update for latest ImBuf changes
2010-05-08 20:57:09 +00:00
5741dbf6e4 render time wasnt being written to the metadata of images. 2010-05-08 20:07:29 +00:00
Dalai Felinto
2909a4988b Logic UI: add notifiers for sensors and controllers (so the ui updates if you change the value through script) + some layout adjusments. 2010-05-08 19:52:13 +00:00
79d5d623e0 Fixing the makefiles compiling 2010-05-08 19:48:28 +00:00
d58a591072 Sequencer crashes with clips that have OpenGl render enabled (rev 28658)
disabling for now, opengl write rendering isnt drivial to solve.
2010-05-08 19:08:33 +00:00
5afd3f192a bugfix [#22281] Edit mode face selection dots gone from textured viewport mode
tweaked the logic for drawing face dots
2010-05-08 17:54:29 +00:00
5371c54a4c bugfix [#21085] Sequencer file selector for movies is strange
elubie fixed the first part, this fixes the internal data updating while keeping the frame range.
2010-05-08 16:36:28 +00:00
9c1a9d9379 revert own commit 28662.
strnlen is a GNU extension according to http://unixpapa.com/incnote/string.html
2010-05-08 15:37:29 +00:00
e6bd313de9 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r28447:28663 2010-05-08 08:54:22 +00:00
d906d8ce3a Scons compile fix for SVN 28661.
* Missing 'blenloader' include.
2010-05-08 07:48:37 +00:00
ad068e6351 remove BLI_strnlen, use _strnlen as strnlen on windows.
cant test on windows but from what I can tell this exists like _vsnprintf
2010-05-08 07:34:01 +00:00
fcaca6c5bd - console drop handler for datablocks & filepaths.
- added BLO_idcode_to_name_plural() for names like meshes, scenes, libraries etc from and ID type.
2010-05-08 07:25:26 +00:00
68173d1dc0 Fix blenderplayer linking issues when building with CMake on unix systems 2010-05-08 05:56:34 +00:00
d8fa59ce01 Allow clicking in the empty area of a scrollbar (in the 'groove' outside the scroller itself)
to page up/page down.
2010-05-08 04:32:48 +00:00
Dalai Felinto
0511086d5f adjusment to constraint actuator layout (forgot to expose normal and before) 2010-05-07 23:56:26 +00:00
14b41f9078 bugfix [#22276] filemanager autocompleate based on current path
also added autocomp to filename in fileselector
2010-05-07 23:34:03 +00:00
b2b780f2fe SVN maintenance. 2010-05-07 22:04:48 +00:00
Dalai Felinto
672044cd49 CMake + MSVC building fix (PTHREADS_INC needed in imbuf)
again, I know that the header shouldnt' be included there. But since it's still there at least let's make it build.
2010-05-07 21:35:10 +00:00
Dalai Felinto
22978ebfdc Logic UI - fixing missing rna default values
there are some cases (i.e. Constraint Actuator) where the same DNA property is being used by different RNAs with different ranges.
It's easy to change (reset the values to their default in the set func of the constrant type rna).
Not sure it's necessary though.
2010-05-07 18:53:28 +00:00
5774e61f4a shouldnt have committed this, was local hack to workaround float buffer bug. 2010-05-07 15:52:16 +00:00
d972b8488e fix for segfault when reading bad multilayer EXR's 2010-05-07 15:49:21 +00:00
008863daec Merge image related changes from the render branch. This includes the image
tile cache code in imbuf, but it is not hooked up to the render engine.


Imbuf module: some small refactoring and removing a lot of unused or old code
(about 6.5k lines).

* Added a ImFileType struct with callbacks to make adding an file format type,
  or making changes to the API easier.
* Move imbuf init/exit code into IMB_init()/IMB_exit() functions.
* Increased mipmap levels from 10 to 20, you run into this limit already with
  a 2k image.
* Removed hamx, amiga, anim5 format support.
* Removed colormap saving, only simple colormap code now for reading tga.
* Removed gen_dynlibtiff.py, editing this is almost as much work as just
  editing the code directly.
* Functions removed that were only used for sequencer plugin API:
  IMB_anim_nextpic, IMB_clever_double, IMB_antialias, IMB_gamwarp,
  IMB_scalefieldImBuf, IMB_scalefastfieldImBuf, IMB_onethird, IMB_halflace,
  IMB_dit0, IMB_dit2, IMB_cspace
* Write metadata info into OpenEXR images. Can be viewed with the command
  line utility 'exrheader'

For the image tile cache code, see this page:
http://wiki.blender.org/index.php/Dev:2.5/Source/Imaging/ImageTileCache
2010-05-07 15:18:04 +00:00
1613829e8e Minor formatting tweaks (killing some "caterpillar if's"... yuck those things are nasty to edit/extend) 2010-05-07 10:59:48 +00:00
9bd3f08b65 Multires: fix for "failed to read" error message with external displacements. 2010-05-07 09:48:40 +00:00
8ab5ae6a78 Exr reading error print has a bit more detail now, to debug problems. 2010-05-07 09:46:54 +00:00
70a96a1089 saving multires data didnt get the new filename when the external struct was alredy allocated (making save external fail) 2010-05-07 09:41:26 +00:00
fbb68188df Restrict keyboard sensor stored events to only what's appropriate per property
(normal key, modifier key, etc)
2010-05-07 08:10:20 +00:00
ba8b63fbd7 too many args, build error 2010-05-07 07:57:15 +00:00
389e590460 ghash alloc string from render branch
svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r28571:28573
 svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r28575:28576
2010-05-07 07:54:25 +00:00
Dalai Felinto
27acb95cad Logic UI: All Sensors, Controllers and Actuators are ported now... (let's the tests begin)
* get/set funcs
* unifying rna_props for Constraint Actuator
* Collision sensor
* Ray sensor
* State Actuator

* We need icons! at least one for Sensor, one for Controller and one for Actuator

* Layout artists:
Keyboard sensor really need some help :)
The other as well. I mainly copied the layout from 2.49 with some adjustments here and there.

* some get/set functions in rna_actuator.c are exactly the same (e.g. rna_ConstraintActuator_range_get, rna_ConstraintActuator_spring_get) and other could be easily distributed. maybe something for later.
2010-05-07 07:31:39 +00:00
6bc28e97c1 Fix [#22271] N panel Lock icons not changing when pressed 2010-05-07 04:52:10 +00:00
9084df418d Warning cleanup
While I was looking in outliner.c, made some changes to let extra passes display
there such as environment (commented out before due to a previous limitation).

Also changed outliner object visbility/selectability/renderability toggles to use 
RNA buttons so you can insert keyframes with RMB menu etc.
2010-05-07 03:44:34 +00:00
Dalai Felinto
d559cf97bb Logic UI: small fixes: order of sensor type enum + state actuator showing used states now 2010-05-07 02:37:05 +00:00
f259da6141 Added dynamic enum itemf for add sensor/actuator operators 2010-05-07 02:01:50 +00:00
Dalai Felinto
9768796926 Logic UI: State Actuator done :) all actuators are there now. [and stubs update]
(it's a small commit, but couldn't help not doing it ;)
2010-05-07 01:30:12 +00:00
05e2e92611 Add the option to show also the UVs of other selected objects in image
space / uv edit. The code was already there, and the option as a rna 
bool, but no ui to set it. Matt figured that the View menu in image 
space next to other uv stuff, which only shows when UVs are edited, is 
the right place. 

Works so that when entering editmode for an object to edit UVs, when 
have also other objects selected and this option on, also the UVs of 
those other objects are shown in the image view.

Liquidape asked this on IRC, and we thought the feat doesn't exist, so I 
looked out of curiosity in the code as was thinking it would be easy to 
add. Was surprised to find it there already :)

First time that did anything with 2.5, was sure fun enough to search 
thru the code to figure out how things work. Adding this ui thing proved 
to be exactly as trivial and nice as it should, and the things under the 
hood seemed nice, yay!
2010-05-06 23:47:25 +00:00
b28c6d3c14 bugfix for own error [#22269] object vector operations (position) not working properly after rev. 28471
double checked other get_index callbacks for the same error.
2010-05-06 22:07:03 +00:00
730ca20c63 fix for duplicating cloth which could crash on freeing
- effector list wasnt NULL'd on copying a particle system
- copying an object would initialize the cloth modifier, then copy it, witout freeing its effector weights created in cloth_init().
2010-05-06 21:31:16 +00:00
9610515b22 keyframe transform, both through dopesheet/action editor and graph editor, works a bit better with handles. handles now follow keyframes properly in frame snap mode, in situations where they would move (but the keyframe would not) in undesirable ways before. also hopefully fixed vector scope crash in image editor. and disabled snapping to seconds (ever); this can be a seperate option, silently switching to second snapping in frame snapping mode is absolutely evil. also, the action editor draws in hundredth of seconds, not seconds, so it didn't even work. Aligorith: I hope this code is ok, if not feel free to rewrite it. 2010-05-06 19:54:43 +00:00
Dalai Felinto
6e3812d7bc Logic UI: constraint actuator+rna 100% (finally !!!) + other fixes/improvements:
- s/c/a type enum update function replaced by set function
- rna_Sensor_type_itemf and rna_Actuators_type_itemf implemented (but not working ... it was working yesterday before I updated the set func, so need further investigation). Matt, if you have any clue on that ...

Roadmap:

i) I definitively gotta unify the maxloc, minloc rna properties.
the way it's right now (based on 2.49 makes the layout code really clunky
ii) - actuator missing - State Actuator (I'll probably need help on that).
iii) - sensor missing - collision and ray (they are partly implemented, but the enums are a mess there).
iv) - get/set funcs missing (not many) and default values (not many)
v) - have more lookup functions for properties and material (I'll definitively need help on that).

Eventually will fix (iii, iv and v) changing bge and dna code and doing a subversion/do_version.
2010-05-06 19:12:08 +00:00
c9ca41c6f1 dont write blender recent file list or save quit.blend when running in background mode. 2010-05-06 18:25:56 +00:00
294e82446a own restrict-render commit broke hide unselected. 2010-05-06 18:11:01 +00:00
263cc93006 Make drop images work from external desktop into Blender image window.
Still has work todo, like detecting filetype on drop event itself. Ton will continue...
2010-05-06 17:45:02 +00:00
c8a0592288 option to use the linked path or the local path for pointcache.
needed for sintels hair to be baked locally.
2010-05-06 17:12:44 +00:00
0550512388 make save as copy default for renders, so artists saving with F3 dont end up with many image datablocks pointing to their Desktops 2010-05-06 16:37:39 +00:00
2016bb77b7 Part 1 of making external drop events work. Have to move work to another system,
that's why this first step. :)
2010-05-06 16:06:57 +00:00
58ca3086d3 more checks to last commit
- dont allow new() to return an existing fcurve.
- dont allow creating fcurves with blank paths.
2010-05-06 14:53:27 +00:00
bd2f576e0f rna functions...
fcu = action.fcurves.new(data_path, array_index, group)
 action.fcurves.remove(fcu)
2010-05-06 14:43:21 +00:00
Dalai Felinto
092bd9f300 Logic UI: actuators - action+rna 100%, sound 100%, constraint+rna 50%
Notes:
1) I had to pass Context to the draw_actuator_sound in order to access the open_sound_operator
uiTemplateID(layout, C, ptr, "sound", NULL, "SOUND_OT_open", NULL);
According to Campbell they are better ways to do that (mdef bind for reference). but for now it works.

2) for the record: action actuator is equal to shape actuator (but runs in armature)

3) in Constraint Actuator I think I should unify all the limit_loc_max_, loc_min, ... properties. I was thinking about replacing it with a single limit_loc_max, limit_loc_min, range, distance, and use get/set funcs to find the correct one.
2010-05-06 12:01:44 +00:00
cbf7d507c5 last commit broke linking to scenes from the UI 2010-05-06 11:47:10 +00:00
1de451ff2d Datablocks Viewer Bugfix:
Adding Drivers and/or KeyingSet paths from the Datablocks Viewer for array elements was not working.
2010-05-06 11:28:46 +00:00
52517570f0 python property - object.scene_users
Also made this and object.group_users return tuples so it raises an error in this case...
  ob.scene_users.append(scene)
2010-05-06 08:30:42 +00:00
600d22fd8f Fix [#22256] bpy.ops.sequencer.delete.poll() not working
Just about all sequencer operator poll functions were requiring an active 
sequence editor space type. This wasn't necessary for most of them, and prevented use 
from scripts, console, etc.
2010-05-06 07:19:55 +00:00
16e628023c Fix [#22249] Can enter camera view when there is no camera in scene 2010-05-06 03:49:26 +00:00
Dalai Felinto
b88656d7f1 Logic UI: more actuators: armature, motion, edit object (ui) and 2dfilter (layout fix) 2010-05-06 03:26:46 +00:00
e364ede7b9 Fix [#22246] Invisible objects on 3D-View (patch included)
Modified patch by Teppo Känsälä, thanks for finding the issue!
2010-05-06 03:15:14 +00:00
13efa685db rna float set function example for dfelinto 2010-05-06 02:58:36 +00:00
7245d935eb Tweak for dfelinto, logic ui 2010-05-06 01:38:17 +00:00
Dalai Felinto
09e6190b49 BGE Logic UI: 2dfilter actuator + object (motino) actuator + commenting out buggy sensors 2010-05-05 21:25:34 +00:00
0c495ffe10 Fix for GPU_free_unused_buffers deadlock, solution by Tamito Kajiyama, thanks! 2010-05-05 17:14:43 +00:00
12cf8ac1d6 - split objet group add/link into 2 operators
- link now brings up a search box so when there are 100's of groups its less annoying.
- utility functions for id-enums so only local objects can be displayed in a search list (used for group_link)
- renamed operator properties from typle to scene, group, action etc.
2010-05-05 15:41:38 +00:00
575dce788a Fix bug with appending a second time from the same .blend file, it would
get the wrong subversion number and do unnecessary conversions.
2010-05-05 14:59:22 +00:00
b63d069055 [#22177] Adding BLF to the BGE and exposing BLF_load as blf.load
from Mitchell Stokes (moguri) 

also updated blf docs
2010-05-05 06:38:49 +00:00
8961d63c54 [#22212] edit problem with translate manipulator
Missing a matrix normalization (objects scaled in object mode would have the bug).
2010-05-05 02:07:26 +00:00
bfca6d8f75 Bugfix #22244: Crash on using ops.constraint.childof_set_inverse and childOf_clear_inverse incorrectly
Adding some NULL checks to all the constraint operators. This is not ideal, but at least the crashes are gone now. More work is needed to properly fix this...
2010-05-05 00:44:42 +00:00
96aa9f7002 Logic Editor UI work
* Re-structured code (can delete the old function entirely when this is done)
* Fixed links/inlinks
* Fixed some bugs in add and remove controller/actuator
* Cleaned up some ui layouts
* Use key event types in keyboard sensor
* Implemented object controller 'state' in RNA/layout engine (still needs tweaks)
2010-05-05 00:12:31 +00:00
Dalai Felinto
c3cd8175c1 BGE Logic UI: fix for scene actuator
Any volunteer for this?
//XXX to do: an operator that calls file_browse with relative_path on and blender filtering active
2010-05-04 22:05:41 +00:00
7a63442f99 remove conflicting restrict render key 2010-05-04 22:01:24 +00:00
dec42e07f4 fix for raytrace crash on scenes with very large objects, assert could fail with really large numbers, instead return 0.0. 2010-05-04 21:56:01 +00:00
41ed305cb2 make a dummy billboard if its velocity or vector are nan/inf
was causing crashes in the raytracer.
2010-05-04 21:43:43 +00:00
Dalai Felinto
74f5a0928f BGE Logic UI: more actuators + almost all sensors
* Matt, I'm marking some "property" rna properties that will need some speacial lookup.
Talking with Campbell we thought that it will be nice to have the lookup with autocomplete for the properties, but giving you the freedom to type whatever prop_name you want (so you can use python created properties).
That way we would still store it as a string.

Whenever the property doesn't exist (or was renamed, therefore can't be found) the property name tints in red ...
Is that possible?

* Matt: in draw_actuator_random I used a uiItemL for one of the modes. Is there another way to do that (having the label in the rna file?). I noticed draw_nodes has some cases of that as well.

* Andrea, the actuator_game property filename (in rna_actuator) is the one that needs to open the filebrowser but saving the result as relative path (or to have relative path as the default in this case)
2010-05-04 21:31:46 +00:00
f721447f22 billboards were using un-initialized memory and avoid divide by zero in some cases. 2010-05-04 21:10:26 +00:00
22a34cc83b render hide/unhide (Ctrl+H, Ctrl+Alt+H, Ctrl+Alt+Shift+H) 2010-05-04 15:04:28 +00:00
a7cbd5008e merging revisions 28564-28569 from render branch into trunk 2010-05-04 12:31:24 +00:00
Dalai Felinto
cef3e3099a BGE Logic UI: more sensors + rna fixes + actuator empty draw functions (+ camera actuator) 2010-05-04 07:34:46 +00:00
02b8995bae clear warning 2010-05-04 07:26:57 +00:00
98754f3ae5 small adjustments for getting the default string of a property 2010-05-04 06:08:00 +00:00
0975b9a35f clear 2 warnings 2010-05-04 05:30:17 +00:00
96beb8330c Great patch by Harley Acheson fixing about 80 typos and spelling
mistakes in makesrna
2010-05-04 05:15:53 +00:00
850a4b508b Fix [#21353] Rendering h264 reports broken settings and fail.
Also silenced a warning.
2010-05-04 00:28:41 +00:00
Dalai Felinto
44c0f38e6c BGE Logics UI: commit to receive some feedback from Matt
To test use debug mode > 0 (Ctrl+Alt+D)

* primarly the goal is to put all the bricks there, and then to worry about the proper layout
* sensor header added (need to be more compressed). Also checkbox will not work that well here in my opinion.
we need to see what can be used instead (icons?)
* sensors, and actuators in alphabetical order
* a lot of sensors using the rna (//XXXSENSOR in the ones not using it)

* the logic_window.c code for controller and actuator is there only to display the draw functions for controller and actuators. But the code it's a really bad copy of the sensor code, so it will be fixed later (Matt? :)

* I would love if the non-expanded mode were more compact, more like in 2.49 (the name non-editable).
but this is the kind of think we can worry in the end.
Also instead of "move up/move down" it would be nice to drag/drop the sensors/controllers/actuators

* to do: rna_actuators: to rename type to mode for the enum
2010-05-04 00:06:13 +00:00
e09c47a0da == Sequencer ==
Added operator (and menu entry) to deinterlace all selected movie strips.
(does also walk into selected meta strips)

Also: small fix for multicam cutting tool (now works also within metas)
2010-05-03 22:17:05 +00:00
a253d2d0f3 add missing include from recent commit 2010-05-03 21:07:57 +00:00
20fd05abc1 manually sync rigify with render branch
fixes [#22231] Rigify Script Error When Generate From Human(Meta-Rig)
2010-05-03 19:12:11 +00:00
6cb02a1672 Drag & drop from OS: set to accept any drop operation by default for now 2010-05-03 17:02:49 +00:00
afa872200c merge multires changes into trunk 2010-05-03 16:06:36 +00:00
245ab753f5 misc uninteresting stuff (killing time at airport commit)
- pep8 updates
- RNA_TwoDFilterActuator --> RNA_Filter2DActuator
- minor changes to conolse namespace init.
2010-05-03 16:00:42 +00:00
0fdd003d9a have timeoffset use (int)floor(timeoffset+0.5f) when converting to an int to avoid problems with nagative values. 2010-05-03 15:56:44 +00:00
914d5e5f62 sphinx doc generation
- include default values as well as min/max.
- partial rebuilds, so we dont have to build all docs each time, only the changed files.
2010-05-03 15:52:15 +00:00
88c3b68207 mask modifier properly works in weightpaint and edit modes now. note that modifiers should not have to provide a applyModifierEM function, there's really no reason to not pull the result from applyModifier if applyModifierEM doesn't exist, it's not like we don't have a dozen *EM functions that do just that, anyway. fixes 22192. {merged 28543 into trunk} 2010-05-03 10:09:26 +00:00
39aac78b59 Fix [#20999] Node Header icons drawn wrong
Would like to re-do this stuff properly at some stage...
2010-05-03 08:43:00 +00:00
114d930bf0 Fix for renaming particle selection operators a little while ago 2010-05-03 07:42:40 +00:00
b18d377292 Updated icon set, thanks jendryzch! 2010-05-03 03:33:20 +00:00
23ccac18cd Fix [#22199] Cloth Cache Panel > Disk Cache doesn't work
Condition for this to work (.blend file must be saved) was poorly communicated 
in the UI (printfs are no good for this - ideally should use reports). Tweaked this a bit.
2010-05-03 03:02:27 +00:00
43f0fd08b3 Fix [#22227] Unbinding calls bind operator
Problem wasn't that the same operators was being called, just seems like the code wasn't updated after rev. 28376
2010-05-03 02:01:38 +00:00
139f456bd1 NetRender
Repath functionality: Edit paths in blend file on slaves to match the transfered files.
Tested with textures and point caches. Fluid should work. Point Caches with the External option might not.


This should fix previous problems when using absolute paths in blend files.
2010-05-02 21:34:08 +00:00
31cfad9fda == Sequencer ==
Made Multicam-Editing really work:
* added a panel within N-keys, so that one can start/stop playback
  and cut between cameras directly from the panel
* made "active_strip" RNA editable, to make that work correctly
  (is usefull anyways :) )
2010-05-02 17:36:38 +00:00
d750c07d67 Tweaked Cache panels to make them clearer, simpler, and added single column UI. 2010-05-02 14:34:37 +00:00
35689475c8 Add read-only property to check if any duplis are used. Without this, ob.create_dupli_list(scene) crashes when no duplis are on the object. We cannot use duply_type !='NONE' because for non rna dupli types like dupli_particles, it fails. And some dupli types, we don't want to have in rna 2010-05-02 13:48:32 +00:00
4fd2bb044d Put ray mirror Fade To color next to Max Distance. Grayed out Fade To if
Distance is 0
2010-05-02 04:40:44 +00:00
dd3a07a9f7 [#22211] Sending single frame job to netrender
Patch by Jeroen Bakker
2010-05-01 20:39:04 +00:00
c2147a9c3d Merge with trunk, revision 28446 - 28528. 2010-05-01 16:18:05 +00:00
540bf6d7c8 should make problems mentioned in
[#19221] Sequencer animation curves not converted correctly from 2.4

go away.
2010-05-01 16:02:59 +00:00
93a7f0ef65 Second round of sequencer IPO-conversion to new animation system:
* now non-frame-locked IPOs work, too.
2010-05-01 15:17:30 +00:00
d5939c03d1 First round of importing old sequencer IPOs to new animation system:
* Frame locked IPOs work now

TODO: non-frame-locked ones :)
2010-05-01 14:09:45 +00:00
0b8704a503 Fixed version patching for unique sequencer names:
now iteration over all strips (including meta strips) works correctly.
2010-05-01 12:39:06 +00:00
bff3ec4ccc == Sequencer ==
Since prefetch rendering in sequencer is currently disabled, 
seq_thread_shutdown should be always TRUE for now.
2010-05-01 11:51:56 +00:00
c64e4566e1 Fix [#22202] Box Selecting bones does not update animation windows 2010-04-30 07:22:07 +00:00
188d1ccf56 fix for exporting a rig to a graph 2010-04-30 05:45:02 +00:00
16e7ed28be Highlight last selected point in curve/surface edit mode.
Curve->lastselbp field was renamed to Curve->lastsel and now not last
either BPoint or BezTriple is storing here. It's not easy to determine
type of selected point, but operator which depends on such point reviews
the full nurbs, so this shouldn't be a problem.

Made changes to curve undo stuff to restore last selected point on undo/redo.

Added new theme color for curve last selected point.
2010-04-30 04:48:40 +00:00
53dbc1efdf Fix [#22207] Selecting Roots also selects hidden 2010-04-30 01:22:21 +00:00
12a7c8f699 Bugfix #22201: NLA 'freeze' icon does not match box
When the channel list in the NLA Editor was resized, the 'freeze' icon on Action Lines stayed put due to a relic from older code.
2010-04-29 23:29:50 +00:00
87072f1585 Removed unused code from yesterday 2010-04-29 23:24:31 +00:00
92dfb98ff6 Suggestion by Florian Meyer (testscreenings) to change default ramp to
RGBA 0000 - RGBA 1111 (no more cyan)
2010-04-29 23:15:03 +00:00
5e74542bb6 use size_t for MEM_allocN_len as well as some of its callers 2010-04-29 21:46:25 +00:00
Nathan Letwory
d2f5a60ca2 Amendment to r28508 (Make Blender malloc be 64 bit ready)
- one function missed in header causes compile problems (intern/guardedalloc/intern/mallocn.c:352: error: conflicting types for ‘MEM_mapallocN’)
2010-04-29 19:41:12 +00:00
cbc2a71128 [#22133] File Browser Mismatches File Name and Thumbnail
* sorting of file list interfered with thumbnail order, stopping job while sorting now.
2010-04-29 18:53:01 +00:00
df2ed9fa3b == MSVC 9 projectfiles ==
small update
2010-04-29 18:46:43 +00:00
dfc1b8428e missed this in recent api edits 2010-04-29 18:40:33 +00:00
08c3bfdfaf NULL check for pointcache. not sure this should be fixed elsewhere, commented this needs further checking. 2010-04-29 17:57:17 +00:00
1fc7ea774f Make Blender malloc wrapper be 64 bit ready. 2010-04-29 17:34:40 +00:00
f63de81223 SVN maintenance. 2010-04-29 17:07:17 +00:00
610c4befd4 option to copy constraints without making their ID references direct links.
needed because proxies are causing libs to be linked directly when they should be kept indirect (likely slowing load times though I didnt time this)
2010-04-29 15:31:53 +00:00
6662440867 select linked options, Library and Library ObData 2010-04-29 14:44:39 +00:00
7e0fc2692b add missing header 2010-04-29 07:06:00 +00:00
b008f04450 Rewrite of Logic editor UI to use layout engine
This commit puts the ground work in place, swapping out the crusty old Logic Editor
UI code for the new RNA-based layout engine. It's disabled with ifdefs at the moment
because it's incomplete, but Dalai can now do the grunt work to fill it all out and get it running.

Also includes a bug fix to LINK buttons, and two new logic operators to add and delete sensors.

Dalai, just switch the #if 0 and #if 1 in logic_window.c:3412 and 3469
2010-04-29 07:01:48 +00:00
09f2b457f8 Set all brushes default distance
Edit mode back geometry occlusion on
Render size to %100 (%25 default is confusing)
Allow negative frames disabled by default (the use cases of this are
very few for it to be on by default)
2010-04-29 06:42:31 +00:00
58cb999253 Newly created brushes will have a lower spacing. Still need to fix some
of the default brushes
2010-04-29 05:20:24 +00:00
Dalai Felinto
a86748adf8 fix for [#22195] Empty Size minimum limit too big (patch by Bassam Kurdali - slikdigit) with small change
(ui range precision to 2 instead of 4, since 4 doesn't seem to work here).

From the tracker:
""" 
The smallest size allowed for empty_draw_size is 0.1. This is un-necessarily limiting and, depending on the scene, much
too large resulting in visual confusion in the 3D View.
Opening old files initially results in small empties, but when you click on them they 'grow' to the new minimum. This
seems to show that previous blender versions didn't have this bug.
Please remove the limitation, or, if needed, make it a much smaller number, so that empties are easier to see and distinguish from one another in small scenes/setups
"""
2010-04-28 21:18:40 +00:00
9db7f4122d fix for crash on loading some nodes. 2010-04-28 18:13:03 +00:00
b2196c364f pin and driver id pointers were adding user references from rna but not on file load.
removing a reference to either could remove the object/data from the scene.
use set functions to avoid refcounting.
2010-04-28 11:05:11 +00:00
0b49c6255f patch 21737 by Elia Sarti (vekoon)
Currently for ColorBands, when pressing the Add button, new elements are
set with a medium gray in a medium position which often is not desired
behaviour.
 
This patch when possible sets new elements as averaged values between
the current element and its preceding neighbour
2010-04-28 09:29:17 +00:00
c757c66f92 reverting 28469, there is no use in using a long, while the allocation functions only accepts an int.
- only wastes 4 bytes per alloc.
Also would be most correct to use size_t
2010-04-28 08:15:26 +00:00
5982662e23 add option -Y to enable python script execution. 2010-04-28 08:02:51 +00:00
7dd251bb2b Manipulator combo was a bit too much cluthering for default, reverting
that. Enabled grease pencil smooth stroke
2010-04-28 07:36:47 +00:00
2d4d820b97 3dview --> view3d, patch by Jonathan Smith with small corrections and changes. 2010-04-28 07:25:39 +00:00
68e68af102 - Increased default 3D View clipping
- Default cube properly selected
- Using transform manipulator combo (loc/rot/size)
- Default sculpt brush spacing was too wide (jagged strokes)
2010-04-28 06:46:44 +00:00
574d1117f8 Tweaking of default preferences: Playback FPS on, larger miniaxis, bit
faster smoothview, third scene lamp ON (shading looked completly dark
from below)
2010-04-28 06:18:16 +00:00
f3c0743b41 NetRender:
- multires cache files and image .tex cache support in dependency list
- Compare md5 of files before using a local copy (not one transfered by netrender). Could be changed to a simpler CRC if speed is an issue. The goal is not to have a strong crypto signature but just to detect outdated local files.
- Reduce slave timeout to 5 minutes (down from 30). Slaves should report at most every 30s, there's no reason for a value to be that high.
- Reorder the presentation tables on the main web page (job list is more important)
- Collapse dependency list by default on job page (only show main file and headers for other files, point cache and fluid cache)
- Slave option (default: True) to also output render log to the console (as well as the usual copy to the master)
2010-04-28 01:54:12 +00:00
058b702f19 user modules were not loading in background mode. 2010-04-27 21:01:24 +00:00
cf8ebbf751 update for changes to blf module 2010-04-27 19:46:15 +00:00
124c55fcc3 remove redundant argument from mathutils callbacks 2010-04-27 19:21:36 +00:00
f9fbfd9297 oversight in recent mathutils update. obj.matrix = obj.matrix would call its own updage callbacks until it crashed. 2010-04-27 18:55:25 +00:00
d6b71243c2 Make len portable (as best as can tested with a 32 bit machine). 2010-04-27 18:21:49 +00:00
c80d0f1f85 fix for allocations over 2gig crashing blender (even on 64 bit systems)
the memheader len would wrap to a negative number and when freeing it would write into the memheader.
2010-04-27 15:46:58 +00:00
91197621dc fix for error in decleration order 2010-04-27 13:22:43 +00:00
d9dbf99cae Fix [#22173] Texture nodes update every mouse click
Notifier tweaks
2010-04-27 11:09:52 +00:00
505023d206 factor for setting particle weights 2010-04-27 09:54:36 +00:00
cbe55dc66b Text button with search icon now updates "live", like in outliner. 2010-04-27 09:07:26 +00:00
e40531991d fixes for euler order setting when the rotation mode is not euler. 2010-04-27 07:50:31 +00:00
79bd15c32d Fix [#22165] "Camera:" field of the Properties>View panel (3D View) has no function & is confusing
Cleaned up UI, made it a bit clearer
2010-04-27 06:47:12 +00:00
061a306d66 NetRender tweaks by Brecht
* Client connection is made from panel poll functions even if
netrender is disabled
* Network render slave should print when it has connected to server,
now it says "node initiation", I initially thought this meant it was
not connected yet.
* Web interface should auto-refresh, I got confused if job and slaves
were actually found or not.
2010-04-27 03:14:40 +00:00
6dadec2972 branching for GSOC 2010 2010-04-27 02:17:27 +00:00
8d5e5e6b2f branching for GSOC 2010 2010-04-27 02:16:25 +00:00
fd15ba060b [#21753] allowing to compile on FreeBSD 8.0
patch on libopenjpeg
2010-04-26 21:28:50 +00:00
5e2a9770f5 bugfix [#22163] Add->mesh->torus is broken
recent commit broke this, missed changing double to float.
2010-04-26 21:25:14 +00:00
6bb55fd93e py/rna, euler objects order is now wrapped correctly...
eg:
 eul = bpy.context.object.rotation_euler
 eul.order = 'XZY' # will update the objects setting.
2010-04-26 21:04:42 +00:00
523b95898b Add missing null check solving crash on texture panel, also fix possible 'freeing NULL' because of misplaced MEM_freeN() in that context. 2010-04-26 20:30:13 +00:00
a547e91d41 Two bugfixes from the render branch:
* Fix for FSA update while rendering fix, should set float rect to NULL.
* Fix for irradiance cache mutex unlock that got lost in code changes.
2010-04-26 12:50:48 +00:00
f39163acd7 Outliner Filtering Bugfix:
Campbell's changes to make this use fnmatch by default had the case-sensitivity setting inverted. This meant that convenient searches in lowercase were no longer possible by default.
2010-04-26 10:31:09 +00:00
b757e5c944 Fix #22086 and #22125: crashes due to editmode being set on load/undo, fixes
are simple enough, though may still revert this feature if it turns out there
are more problems.
2010-04-26 10:12:03 +00:00
2785bc1aef Proper fix for the Grease Pencil drawing options 2010-04-26 10:02:30 +00:00
449d6a3cac Some work on the cluthered particles UI; lot's more to do 2010-04-26 09:33:59 +00:00
724c8afde8 Got tired of the heavily compressed armature layer icons. Also added
a smart wide/narrow UI conversion

http://www.pasteall.org/pic/show.php?id=2940
2010-04-26 08:55:14 +00:00
1542b15a07 Cleanup of grease pencil UI. Ali can you check if what I did in
gpencil_buttons.c is ok? it was graying out two buttons that shoudn't
have
2010-04-26 08:05:04 +00:00
4980e43dd1 Assorted code cleanups:
* Removed some un-needed armature code stubs
* Manually copying over the values of constraints in the constraint copy() callbacks should NOT be needed. Removed this from the Spline IK constraint. The manual process is only a hacky aspect of the modifier stack only!
2010-04-26 06:35:25 +00:00
b5d28306d0 Bugfix [#22069] Speed-Ipos are not imported correctly from 2.49 to 2.5
- IPO-blocks for curves were not getting handled correctly (i.e. no conversion and relinking was taking place) when converting from 2.4x to 2.5
- Old 'speed' IPO's now have their values multiplied by the path length when they are loaded from old 2.4x files so that they work correctly in 2.5. 

Also...
- Cleaned up a few instances of scruffy code formatted in some weird ad-hoc way.
- Debug prints for the start/end of the file conversion process are now all hidden behind debug-only checks. Unless the way the conversions are done is significantly changed at some point, this should be sufficient...
2010-04-26 06:33:04 +00:00
7bf3add0a5 Add operator undo flags to text datablock related operators 2010-04-26 04:49:33 +00:00
f85fe4d633 Pass constraint names as operator properties in constraint operators
This is similar to commit revision 22078, but for constraint operators rather 
than modifiers, making it possible to use them from scripting.
2010-04-26 03:42:38 +00:00
47e1f253c5 Fix [#22160] blender 2.5 alpha2 can't open file grass.blend from blenderguru
Textures were being called with multitex_ext with osatex enabled, but NULL derivates.
Fixed this for texture effectors and a couple of other places.
2010-04-26 02:23:13 +00:00
4fc4fb9bfb rna/python mathutils module
- return euler rotation values from rna now have correct rotation order.
- mathutils.Euler stored rotation order off by 1. (didnt work at all)
- Euler/Quat/Color sliceing working again.
2010-04-25 23:33:09 +00:00
64359c9abc hash function for property-rna. eg. hash(bpy.context.object.modifiers) 2010-04-25 21:13:42 +00:00
61eb217294 [#22151] Modifier UI crash
own error when editing context return values. r28401
2010-04-25 19:56:43 +00:00
873d4a3f05 py api
- mathutils.Color.hsv attribute. eg. material.diffuse_color.hsv = 0.2, 0.8, 0.4
- Vector/Euler/Quaternion/Color now only take a single seq arg.
- internal function for parsing arrays. (cleanup messy internal list/vector/tuple/seq parsing)
- didnt update rigify yet.
2010-04-25 19:27:59 +00:00
4f6e3dad47 == Sequencer ==
Forgot some changes for multicam support.
2010-04-25 15:39:04 +00:00
93f420b666 correct typo's 2010-04-25 15:24:18 +00:00
93bc6fb829 py console autocomp. fix
import missing_mod
...would raise an error.
2010-04-25 15:21:46 +00:00
cacd2477c0 bugfix [#22117] Memory Error messages with Spline IK
chainlen was initialized as 0
2010-04-25 13:27:52 +00:00
a92b8b7ff6 == Sequencer ==
This adds MULTICAM-editing support for blender. (Well, the beginning of.)

There is now a new effect track, named MULTICAM, which just selects
one of the lower tracks.

Doesn't sound that exciting, but if you combine this with A/B-Trim (moving
split points of two directly connected tracks around, while magically
resizing both strips, something to be added), you just do:

* add several tracks for your camera angles
* (optionally) sync those tracks
* add one multicam track on top

Use that multicam-track to edit your movie. (Either using fcurves on the
multicam source selector or using knife-tool and A/B-Trim.)

Compare that to:

* add several tracks
* add cross fades between them
* do some python scripting to add several fcurves to make that beast
  somewhat work.
* cry out loud, using it, if you have to move cut points around

Alternatively, even harder:

* just edit the old way and put strip after strip

You might think, that this isn't really helpfull for animators, but
consider using scene-strips (in OpenGL-mode) for input, that are set for
different camera angles and can now be intercut a lot more easily...

Also: small fix on the way: the speed effect can now be used in cascade.
(Don't know, if anyone used it that way, but now it works.)
2010-04-25 12:53:39 +00:00
3f12beb4d0 Fix #22123 and #22124: some problems with mutex locks, also tweak to
how removing opengl textures from outside main thread is done so it
happens as part of the main loop.
2010-04-25 10:49:13 +00:00
6c3317612e Mesh Deform Modifier: fix problem with saving. 2010-04-25 10:27:45 +00:00
95c2b3297e workaround for (what looks like) a bug in python's StringIO module. should investigate further but for now this works. 2010-04-25 04:06:34 +00:00
708667c6f6 minor mathutils update
- docstring for Euler.rotate
- rotate_eul, use upper case in Py and C. 
- use less verbose repr method.
2010-04-25 03:34:16 +00:00
b37ae4a375 re-arrange modifier and blenkernel to overcome some linking problems that stopped modifiers being able to build when using some blender-kernel defined stuff 2010-04-25 01:10:03 +00:00
2cec60e2eb fix for a library linking problem where a proxy object linked into a blend would cause the proxy, driver's ID to be directly linked as well.
eg. character.blend -> anim.blend -> comp.blend
... Would link the character.blend directly into comp.blend because on driver ID's.

In this case id_lib_extern doenst need to be called because the object its linked from is a library.
2010-04-25 00:19:10 +00:00
d0328d6702 Remove duplicated "modifiers". 2010-04-24 22:34:18 +00:00
265d76a533 fix for crash reading console history. 2010-04-24 21:14:05 +00:00
4bd3163ea6 py api: fix for context returning None for an empty list such as 'context.selected_objects', now returns [] 2010-04-24 19:26:05 +00:00
b31e9b764e [#21218] Strange Extrude bug...
Hide Extrude Type property (it's not supposed to be changed manually).
2010-04-24 18:11:28 +00:00
5b4e62a977 Fix for #22135, loading ffmpeg now before .B25.blend is loaded. 2010-04-24 16:35:16 +00:00
87d30fdd24 Makefile fix: new modifiers directory had to be compiled too. 2010-04-24 12:37:17 +00:00
ace1c998c4 warning cleanup, also made voxel.c and volumetric.c use BM_INLINE define rather then having their own ifdefs in each file. 2010-04-24 10:08:07 +00:00
39c0e690d3 sub_v3_v3v3 --> sub_v3_v3 (where possible) 2010-04-23 23:57:00 +00:00
394537715d string number decoding didnt check for win32 slash & minor adjustments to some other path funcs (no functional change). 2010-04-23 23:01:50 +00:00
Dalai Felinto
edc56fae18 BGE Fix: [#19951] mouse over sensor is broken with letterboxing framing
Tested with GameLogic.mouse.position and mouse over sensor.
It should be working with other mouse sensor as well. If not, please help to test and report a bug.
(couldn't test blenderplayer but it should be working there as well).

(Benoit, this is the same patch that I sent you. I hope it's OOP enough. Looking forward to hear from you on that)

I believe that this was the last "mouse" related bug we had reported. MouseLoook scripts should be working 100% in Blender/BGE 2.50 now \o/
2010-04-23 22:48:26 +00:00
62c0ac2dc9 unix style outliner name wildcards *.*, Any.???, etc (using fnmatch), also removed last beos reference :) 2010-04-23 22:08:11 +00:00
28e8c04795 patch by by xat "Partial fix for bug #22142" 2010-04-23 20:05:16 +00:00
23ad9588ad Some fixes from the render branch:
* Take border render into account when drawing grid before for render
  result becomes visible.
* Use antialiasing for rendering icon previews.
* Fix Full Sample not drawing render result while rendering.
* Mesh Deform Modifier: also forgot to commit this file.
2010-04-23 18:02:50 +00:00
877e855ca5 Quick fix, just in case the mesh has no vertex groups, there won't be a crash! 2010-04-23 12:15:50 +00:00
6a56b0d844 Bugfix #22101: Envelopes dont respect armature modifier vertex group mask
Changed the point where the vertex groups are retrieved. Hopefully this commit doesn't break any cases I haven't thought of...
2010-04-23 12:11:56 +00:00
4a51b140cd always print reports immediately when running in background mode. 2010-04-23 11:48:17 +00:00
08775e8f14 Mesh Deform Modifier: compress static binding weights better, threshold
is still set very low so in many cases it could be even smaller, but being
a bit conservative here to try to avoid breaking rigs.

This is not forward-compatible, i.e. loading new files in older blender
versions will loose the binding.
2010-04-23 11:19:06 +00:00
d43bef938f svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r28371:28372
console history save/load from joe
2010-04-23 09:24:22 +00:00
0429707e6c fix for camera switching, broke 28359 2010-04-23 08:39:10 +00:00
320408ff12 Tweaks to Render Layers panel
'Mask layers' should be visible always, they still work to mask out objects on 
layers when zmask isn't on (zmask is slightly different.. a bit confusing)

Icon tweaks too
2010-04-23 06:33:30 +00:00
ce9d5c43e2 Spline IK - Influence Control
Made the 'Influence' slider work for Spline IK too, and made that setting visible now that it works. 

Note that there is still some popping that can occur when going to/from influence = 0.0. I'm not sure exactly what's causing this yet, but hopefully it won't be too noticeable in practice.
2010-04-23 05:14:00 +00:00
967c2d55f7 Improved the Outliner live-search so that in the default scene, doing a simple search for "cu" (to show the default cube only) will show the matching item.
Previously, because the 'Scene' item is encountered first, all sub-items like this would be ignored. Now, when a non-matching item is encountered, it's subtree is checked as per normal, as long as the item was expanded (so that its subtree is still visible).
2010-04-23 04:16:08 +00:00
eba8672f12 Outliner Live-Search Bugfixes:
Ton's commits missed the RNA changes needed to make this work (i.e. the search field was un-defined). This has now been added, and the search field has the 'search eyeglass' icon to make its purpose clearer.

I've also taken this opportunity to restore the search matching flags (i.e. case sensitivity and complete vs partial matches), making these separate toggle options instead. The old searching operator stuff can probably be removed now?
2010-04-23 03:53:05 +00:00
26e4a5802e Fix [#22121] Object Mapping - "clone" linked w/previous material/texture
after Make Single User

Was an error in UI display of node materials/texture lists, combined with a 
very weird node setup.

I will be a very happy person the day we finally get rid of the terribly 
confusing materials-inside-materials behaviour.
2010-04-23 02:25:19 +00:00
8f286a80d0 Fix [#21582] Adjusting material color (color picker) crashes
Thanks to the testers for helping diagnose this!
2010-04-23 01:41:01 +00:00
d4e1bcb7f2 Fix [#22120] Physics modifiers can't be removed 2010-04-23 01:06:28 +00:00
7f635f2c91 Fix for small error in r28348, was preventing texture influence panel from displaying 2010-04-23 00:05:46 +00:00
341d82657f rename scene.visible_layers -> layers, since layers are used for editing, export, rendering & anim evaluation. 2010-04-22 20:00:19 +00:00
230eec9917 chaning the camera from the scene buttons didnt update the views. moved some scene/view functions from view3d_view.c into BKE_screen since they need to be accessed when changing cameras from outside the view. 2010-04-22 19:57:18 +00:00
5b666c95ce skip instancing objects/groups when linking in a scene, the scene has references to the objects/groups its self. 2010-04-22 18:19:21 +00:00
e57303e5ac Header button for search filter in outliner. 2010-04-22 18:17:17 +00:00
7a4a0d8082 - Added search filter in outliner header. Only activates filter on enter,
should make it do 'live' search while types.
- Connecting Viewer nodes sometimes didn't recalculate, depsgraph needed
  remade
2010-04-22 18:16:56 +00:00
749f027e1d rna rename start/end --> frame_start/end 2010-04-22 17:35:00 +00:00
33acae1a15 only override start and end frames with particle's if the partices are emitters. Was very confusing for hair baking. 2010-04-22 16:23:44 +00:00
22845f8209 avoid try/except with in texture UI 2010-04-22 16:22:47 +00:00
3c4339ccf7 Remove unused var from blenfont. 2010-04-22 12:05:19 +00:00
9957e926f9 warning cleanup 2010-04-22 11:35:36 +00:00
3df0db98d3 Fix [#22088] Object's material changes (links) to other when moving an object
to an other layer

WM_operator_props_popup() and subsequent block handle function redo_cb()
was popping an operator undo, without having pushed one previously - 
this would undo one too many times when using the properties invoke popup.

Fixed by adding an undo push to WM_operator_props_popup()
2010-04-22 11:35:11 +00:00
a56b72fd82 BugFix:
[#20854] PROPERTIES STAMP: Rendering stamp flickers in output renders

Blenfont was not thread safe, that is why one thread can change
the font properties (size, dpi, color, etc) at the same time
that the stamp draw on the image, and then the problem.

To make blenfont thread safe I have to change two important things:

1) Every BLF_* function take one argument, the font id.
2) We have two new function to make font "thread safe":
	BLF_load_unique
	BLF_load_mem_unique

This two function are for case like stamp, that need and own font
that don't share the glyph cache, so can draw without problem
in a different thread.

Why the BLF_*_unique function ?

Because blenfont keep only one copy of a font and keep a list of
"glyph cache". Every glyph cache have size and dpi, so if two
different thread access the same font at the same time, they can
change value and finish with something like the stamp problem.

Why don't remove the glyph cache ?

Because if we do that, we finish with a font object for every size
and dpi, and the stamp is really a special case that happen in
the rendering process, so I really thing is better keep the
glyph cache and make this two new function to handle this
special case.

(When I say "font object" I mean have the same freetype font multiple
times just to have differents size and dpi)

As Matt point we still can have one case that two thread access
the BLF_*_unique function at the same time, but I am looking to
fix this with some class of thread lock.

For now I test and work fine, so if some one found problem, please
let me know.

Campbell I have to change the python api (python/generic/blf_api.c)
to the new syntax, so maybe you can take a look at this.
2010-04-22 10:56:45 +00:00
c8c22d2cf6 rna: added lib.parent access and made filename editable. 2010-04-22 08:25:05 +00:00
a2b6abeee1 Fix [#22097] missing panels in texture tab
Made texture/texture slot context a bit less flaky when dealing with active material and 
texture nodes inside a node material in the node editor. Now if the active material has 
nodes enabled, and there are no active material/texture nodes inside it, nothing will be 
shown in the texture properties (similar to 2.49).
2010-04-22 06:59:41 +00:00
5c94896490 Fix [#22078] Cannot apply modifier in python (context error)
Previously all modifier operators relied on the buttons layout data context pointer to 
decide which modifier to work on. This meant that these operators would only work 
from from the properties panel, and not from scripting/macros or for operator redo.

This commit makes all modifier operators take the modifier name as an operator 
property, so the operators can be re-done or executed outside of the modifier panel. 
When invoking the operators from the modifier panel, they automatically fill in the 
operator property from context.

This isn't a perfect API design, but it does bring these operators in line with the design 
of being able to access all UI functionality via other means like scripts.
2010-04-22 01:55:10 +00:00
27fa482714 Fix for bug in r28320, sizeof(pointer) was breaking path functions 2010-04-22 01:06:59 +00:00
da70064211 copying values from int buttons were adding floating point 0.00000's 2010-04-21 21:43:29 +00:00
1132d0774d Save a Copy, (operator option for save as),
Too many times we have images in blend files that are just saved renders.
2010-04-21 19:14:20 +00:00
981c36df0d fix [#22080] double clicking a file in file browser to open a file doesn't work, r28290 win32
* Forgot to move keymap back from KM_PRESS to KM_CLICK (was testing code). KM_PRESS doesn't play nicely with double click
2010-04-21 18:13:26 +00:00
d5e60226e5 filter 'Enable' wasnt working. 2010-04-21 16:50:51 +00:00
bd1363a898 fix for divide by zero on vertex dirt script, show from the vertex paint menu 2010-04-21 16:22:37 +00:00
ec9f2af659 fix for crash drawing weights in lattice editmode. 2010-04-21 14:46:32 +00:00
fba7ebcbea replace add_v3_v3v3() --> add_v3_v3() where possible 2010-04-21 12:27:48 +00:00
f7717b2e80 option to use curve point weights to influence particle effectors. 2010-04-21 11:59:47 +00:00
6a5c036304 py api. bpy.utils.relpath() function. 2010-04-21 09:27:36 +00:00
0430572dee bugfix [#22098] Binreloc buffer overrun
from Dan Eicher (dna)

there are many of these in blender however this case could happen quite easily.
2010-04-21 07:59:16 +00:00
9c69a8028b bugfix [#22091] Crashing on Add Shortcut 2010-04-21 07:56:34 +00:00
0ebcc8557f [#22100] Jpeg2000 null pointer dereference
found by Dan Eicher (dna)
2010-04-21 07:49:06 +00:00
10796a1a7b Fix [#22099] Interactive Loopcut hs anoyin problem
Made the loop cut confirmation (when finding an edge ring to cut) happen on 
mouse press, rather than release.

This has a nice side effect when using the 'release confirm' option, combining 
the two steps into one - with this on you can click once to immediately place the 
cut in the center, or click+drag to move the cut line where you want it to.

See: http://mke3.net/blender/devel/2.5/loopcut_releaseconfirm.mov
2010-04-21 04:21:27 +00:00
3ad3d9e5ca Fix [#22082] World gradients look like poo
(nice)

Added dither support to in-progress render float->byte conversions.
2010-04-21 02:48:49 +00:00
24eedb2175 vertex group option for lattice, needed for applying a lattice to a beard/moustache without moving the roots about. 2010-04-20 21:38:55 +00:00
3754201720 fix for crash getting the current material & more verbose library errors 2010-04-20 16:12:39 +00:00
ed4377faa7 replace referenecs to python 2.x 2010-04-20 15:46:28 +00:00
716e9c5f47 Fix case of accessing freed windowmanager memory after reading a file. 2010-04-20 14:58:46 +00:00
870115be85 hidden durian feature for entering a new path when linked libs are not found. 2010-04-20 10:36:00 +00:00
0d5075676e Fix #22085: compile error on windows, M_PI undeclared. 2010-04-20 09:28:15 +00:00
Dalai Felinto
dd2080f5c4 BGE EPY Docs: PhysicsConstraints and fixes in other modules
PhysicsConstraints module documented by Jean-François (Ninja Goliath) based on GameKit 2nd ed.
Thanks for the initiative and the great help!

General advice for anyone helping with EpyDocs:
* use :: instead of : to keep the indentation correct,
* use B{} for clarity when needed (e.g. createConstraints)

Adding F13 to F19 to complement Matt's recent commit
* There are other (not so important) functions in PhysicsConstraints module that are not exposed in the documentation right now.

The generated page is temporarily here, if someone want to review it:
http://blenderecia.orgfree.com/blender/tmp/PhysicsConstraints-module.html
2010-04-20 08:23:22 +00:00
b52eddd95a Made playback operators use exec() callback instead of invoke(), so that these can be used for Python scripts.
Note that this is not the patch by dfelinto on the mailing list, since that fix would cause compiler warnings. Also, the invoke() (with the extra wmEvent* arg) is superfluous here, so there shouldn't be any problems with making this exec() only instead.
2010-04-20 02:39:07 +00:00
45abe2baf2 Added F13 - F19 keys for game engine too. 2010-04-20 01:04:00 +00:00
3a04262c4c Added ability to use up to F19 on the keyboard (previous max was F12).
GHOST is already collecting up to F24, but I've only got up to F19 on this 
keyboard so I've just committed what I could test here.
2010-04-20 00:08:27 +00:00
4d39e04102 change mathutils 'repr' functions to closer match input 2010-04-19 22:02:53 +00:00
4a99303967 == file browser ==
Select from last selection. This new setting allows to select all files from the last selected to the current. (Works like SHIFT+SELECT in Windows file browser)
Keymap is LEFTMOUSE+ALT for now since LEFTMOUSE+CTRL is already used for renaming (like in outliner)
2010-04-19 19:29:40 +00:00
37a1297a55 Fix crash when invoking File->Save from the menu
Operator can't call itself! Just call the actual exec function instead.
2010-04-19 18:11:00 +00:00
454470e0bd setting array slices wasnt running rna update
eg:
 scene.visible_layers[:] = obj.layers
2010-04-19 13:37:44 +00:00
8abd21dbc5 Fix crash playing back files with saved speed control sequencer strip,
frameMap cache was not set to NULL on load.
2010-04-19 13:27:54 +00:00
13e0d584c0 Python API fix: Add COMPAT_ENGINES to properties_data_camera 2010-04-19 11:24:22 +00:00
1dce678c2b Fix problem with limit rotation constraints during transform. This code
would convert from quat to matrix and back if the bone had any constraint,
but did not normalize the quat first as done in other places, giving a
sudden jump when starting transform on some bones with constraints. Two
changes:

* Normalize quaternion first.
* Only do this conversion on bones with limit rotation constraints,
  instead of all bones with any constraint.
2010-04-19 09:38:36 +00:00
3b502ca727 image operator poll functions for reload and replace now check for a valid image, but not a valid buffer. 2010-04-19 07:28:23 +00:00
fb0291523a After handling demohero's keymaps to a beta tester it became apparent
that going for the full hotkey translation is actually counter
productive. Now using a more conservative keymap by Michael W that
focuses on general navigation, selection and other details
2010-04-19 06:20:16 +00:00
2f56d8d2e7 Fix [#22056] Minor UI problem in File Browser 2010-04-19 04:39:01 +00:00
aaa6b7f165 Fix [#22058] Presets system not setting some input options.
Added a few more input properties to store in interaction presets
2010-04-19 01:50:30 +00:00
7a1a7ddbee Reverting edit mode Shrink Fatten to Alt+S after talking to Ali. This
makes it inline with curve Shrink Fatten and is a nicer regular use
hotkey
2010-04-19 01:22:56 +00:00
6bc2eb1949 Python API fix: Make properties_texture compatible with COMPAT_ENGINES, also a little enhancement for data_mesh (thanks to Matt) 2010-04-19 00:39:46 +00:00
97d90fad43 New and much improved Maya Interaction Preset by demohero 2010-04-19 00:29:50 +00:00
6cdf29e1c9 Python API: Make properties_data_mesh compatible with COMPAT_ENGINES. (supervised by Matt ;) 2010-04-18 23:52:37 +00:00
30bf23d22d Add support for >2GiB files (as r28267) and some cleanups. 2010-04-18 20:47:05 +00:00
cf4d63c09d == sequencer ==
* new icon for split view (at least temporary)
* icon buttons in header rather than popup menus for better efficiency (can easily be changed in python UI script again)
2010-04-18 18:46:16 +00:00
4d1903870a Brought back editable anim_startofs and anim_endofs both with shuffle test 2010-04-18 18:30:55 +00:00
f05a7e70b2 This fixes largefile (> 4GB) problems in Linux.
(File browser showing negative file sizes, etc.)
2010-04-18 17:26:37 +00:00
748ad6749e MSVC 9 projectfiles
* update: SCA_PythonKeyboard.c and SCA_PythonMouse.c
2010-04-18 17:09:35 +00:00
59b661a290 Bugfix: text buttons in zoomed in or out views, didn't get the cursor on the
right location for mouseclicks.
2010-04-18 17:05:55 +00:00
75911e0e30 Brought back negative Channel-Variables in preview header, so
that preview can show final result from inside a meta strip again.
2010-04-18 16:30:46 +00:00
8efdcaf038 removed icons in proxy preview render size selection. (They don't
really help, if they are non-existent...)
2010-04-18 15:30:21 +00:00
f1eab048d3 == Sequencer ==
Removed seqrectx and seqrecty global variables.
2010-04-18 14:48:53 +00:00
4fde9823fd possible fix for [#22057] Autoname L/R in bones names center bones as .R
Bone would get a '.' added even when there was no extension.
(center limit would still be useful)

- name flipping function used sizeof() incorrectly.
- ED_lorem should be extern.
2010-04-18 14:47:45 +00:00
153081accd Applied:
[#21390] Sequencer: Shifted frames on Time Flip/Flip Backwards

thanks to Koen Ribus(kori) for the patch.
2010-04-18 13:25:51 +00:00
cf1953bb7e Brought back secondary input filtering, thereby
fixing 
[#21014] SEQUENCER: Can no longer apply colour balance filter to colour effect strip.

Also: reordered some UI elements so that
geometry, time and color modifications are grouped together.
2010-04-18 13:05:17 +00:00
a5431b53dd Brought back N-key for sequencer preview. 2010-04-18 12:19:07 +00:00
4fcbc36c1c Added RAW-DV-files (.dv) to filelist, so that drag-n-drop
to the sequencer timeline works properly.
2010-04-18 12:00:53 +00:00
8f1500da00 remove config.h references, was added for automake build system rev around 124-126 but isnt used by any build systems now. 2010-04-18 10:28:37 +00:00
45441c07d4 various minor fixes
- collada export would run MEM_freeN on an un-initialized pointer in some cases.
- makesrna was missing a call to close a file.
- text cursor update function was missing a NULL check for st->text.
- possible (unlikely) un-initialized return value for bge python lamp.type, set error instead.
- possible (unlikely) missing NULL terminator with strncpy for ffmpeg.
2010-04-18 09:12:18 +00:00
01e2de7c53 was using uninitialized string for node name display, also use sizeof() rather then fixed values. 2010-04-18 08:54:42 +00:00
5e186d3de0 Updating operator_simple template with new register functions and
missing bpy import
2010-04-18 05:13:58 +00:00
00e46ef739 SVN maintenance. 2010-04-17 22:43:18 +00:00
4cf697de89 - for BGE mouse and keyboard events use tuples rather then lists
- pep8 corrections
2010-04-17 19:05:53 +00:00
392e1da179 bugfix and cleanup
- BGE Shader.setSampler(name, index): index range check was wrong.
- Compositor check for an invalid channel was incorrect.
- getting the center of selected verts used an uninitalized z axis.
- do_init_render_material() used && rather then & when testing for MA_TRANSP.
- weight paint activate flipped bone used && rather then & for flag checking.
2010-04-17 15:47:00 +00:00
3afd8d6cc8 move camera lens/angle conversion to BLI_math 2010-04-17 08:55:31 +00:00
c00e7fb89d Quicktime audio export: force AAC sample rate to be <=48kHz to avoid later codec error + potential quicktime mem leaks fixes
AAC Codec does not handle sample rates above 48kHz.
2010-04-17 08:33:42 +00:00
Dalai Felinto
795b438bf5 Patch #21789 - BGE Keyboard and Mouse Python types - by Mitchell Stokes(Moguri)
The patch exposes mouse and keyboard read-only properties in the GameLogic module
Also renames bge.keys to bge.events (* Note: name of bge submodules (logic, render, ...) may change before 2.5 final release [right Campbell?]).

"""
This patch adds two new types to the BGE:
SCA_PythonKeyboard
SCA_PythonMouse

These two types allow users to make use of the keyboard and mouse without the need for a keyboard or mouse sensor.

SCA_PythonKeyboard has an events property that acts just like SCA_KeyboardSensor.events.

SCA_PythonMouse also has an events property to check for mouse events. Further more it supports getting and setting normalized cursor position (from 0.0 to 1.0) with SCA_PythonMouse.position. The cursor can be shown/hidden using SCA_PythonMouse.visible.
"""

Its use is similar with current mouse and keyboard controllers. With the exception of mouse position being normalized and writable as well (replacing Rasterizer.setMousePosition).

Code Sample:
######
from bge import logic, events

mouse = logic.mouse
keyboard = logic.keyboard

for key,status in keyboard.events:
    if status == logic.KX_INPUT_JUST_ACTIVATED:
        if key == events.WKEY:
            print(mouse.position)
            # move_forward()

mouse.visible = True # turn cursor visible
mouse.position = 0.5,0.5  # centralize mouse - use tuple
######

* Important Note: mouse.position still will not work properly for Letterbox mode.
In order to fix letterboxing I may need to move the set x,y mouse function to inside the canvas code (to avoid duplicated code between mouse sensor and bge.logic.mouse). I'll leave this for another commit though.
Thanks Mitchell for the work on that.
2010-04-17 06:52:14 +00:00
Dalai Felinto
6562e6a4d1 PThreads "fix" for CMake / MSVC
I heard that the actual solution would be to remove #include <pthread.h> from BLI_threads.h
But in the mean time is not fair to CMake/MSVC to be the only system not building ;)
2010-04-16 23:58:12 +00:00
eea3d0225a Added missing/better tooltips for Array modifier 2010-04-16 22:42:35 +00:00
2241299c20 -->Fix for compile on MSVC
Expansion of BASE_MATH_MEMBERS macro meant that
two consecutive semicolons were in the source in
most header files that used it.
2010-04-16 16:19:36 +00:00
d3f69c8bce fix for uv project modifier, broke when angle was removed. 2010-04-16 15:19:55 +00:00
7eb4eebe22 add the modules directory from the user scripts path (if it exists) 2010-04-16 09:31:58 +00:00
182587fce1 [#22045] Memory leak in Mathutils.Matrix
own fault when adding mathutils callbacks, generic destructor didnt free the matrix accessor array, made the array apart of the matrix struct since its not worth malloc'ing to save at most 16bytes.
2010-04-16 08:17:13 +00:00
0028aa24c1 Fix [#21559] Loopcut and scale problem.
Force mesh out of face select mode and into edge mode when doing loop cut - 
it left an invalid edge selection in face mode, especially with edge slider afterwards.
2010-04-16 08:14:20 +00:00
7c791ad7df Grease pencil->beizer curve conversion fix: handles used to have
the same coordinates as points.

Also send additional notification at the end of conversion operator,
which is needed for correct interface updating (active object could
be changed in operator but interface wouldn't be updated).
2010-04-16 08:13:30 +00:00
911c136c89 Fix warning, also added error message for the case of no filename passed. 2010-04-16 05:24:58 +00:00
ecf98473c2 Turned off 'Emulate 3 button mouse' in default startup blend.
In this day and age most people have 3 button mice, so this option can now be the
exception not the rule  - causes enough issues with conflicts. This commit won't
disturb existing saved configs.
2010-04-16 05:23:04 +00:00
07052eb377 Fix for possible null pointer, from uncle entity in irc 2010-04-16 04:44:15 +00:00
4ad2b51d64 'Fix' [#21119] volumetric material always casts shadows
Revealed hidden 'options' panel for volumes too.
2010-04-16 04:24:29 +00:00
7119d5ba70 Fix [#21492] "Align to view" option from tools panel's operator part doesn't works.
Also changed some usage of CTX_wm_region_view3d(C) to ED_view3d_context_rv3d(C)
2010-04-16 02:14:56 +00:00
7c7d93e664 fix for own mistake, from r27961. 2010-04-15 21:58:49 +00:00
83daf2193e File Browser: respect UserPref for filtering.
Setting 'Filter Files' to false, now shows all files in file browser by default when called with any operator.
2010-04-15 20:37:47 +00:00
b802ac3cf6 SVN maintenance. 2010-04-15 20:16:10 +00:00
49fa7d02a7 MSVC 9 projectfiles update
* blenlib/math_geom_inline.c
* also fix compile error with MSVC (snprintf not defined)
2010-04-15 17:44:48 +00:00
15010c01ae fix for crash when drawing fps 2010-04-15 16:44:38 +00:00
cf2287a27c disable an assert, use a guess assignment instead. 2010-04-15 13:48:03 +00:00
9a85013692 Merge various small changes from render branch:
* Division by zero fix for TNT SVD code.
* Sound fix, in case ffmpeg decode fails, don't use the samples.
* Fix for incorrect bounds of transformed objects in new raytracing code.
* Gave memory arena's a name used for allocations for easier memory
  usage debugging.
* Dupligroup no_draw option was using layers but not restrict view/render
  setting. (not a bugfix exactly but would do display list context switching
  while drawing for no reason).
* Fix objects instanced on hair particles not giving consistent results
  when the object is transformed.
* New math functions: madd_v4_v4fl, len_squared_v3v3, interp_v4_v4v4v4,
  mul_v4_m4v4, SH and form factor functions, box_minmax_bounds_m4.
* mul_m4_m4m4 and mul_m3_m3m3 now accept the same pointers for multiple
  arguments.
* endjob callback for WM jobs system.
* Geometry node uv/color layer now has search list/autocomplete.
* Various small buildsystem tweaks, not strictly needed yet in trunk.
2010-04-15 10:28:32 +00:00
2b01867350 Fix [#22029] Camera in degree mode doesn't update
Removed the camera->angle from DNA, now it just uses RNA to handle the conversions.
Really need to convert this to physical units at some point... :/
2010-04-15 04:56:44 +00:00
57a1ff0df0 Allow shift-tweak to be used for border select extend
(end border select on any key modifier + lmb)
2010-04-15 01:35:32 +00:00
7d9067ca2c Make memstat easier to read, add missing Intel ID and cleanups. 2010-04-14 21:12:05 +00:00
a02a4f0fc4 fix [#22007] Saving a read-only file on windows : no warning and temporary files left there
* small improvement to last commit: actually pass the error value from WM_write_file back to the operator and cancel the operator if not successful. This also preserves the indication that the file hasn't been saved in case of error.
2010-04-14 20:45:36 +00:00
72a73fc9fb fix [#22007] Saving a read-only file on windows : no warning and temporary files left there
* return OPERATOR_FINISHED from file save, so reports are not suppressed - this results in popup with the expected error in this case.
2010-04-14 20:27:45 +00:00
3f4a28dcf1 CTRL+SHIFT click on node "Make viewer connect to node" now also works
if there's no active viewer, or no existing link to viewer.
2010-04-14 17:32:28 +00:00
a14398c883 Small fix: scene name in render stats string. 2010-04-14 17:15:58 +00:00
22d4b02087 Fixing Scons compile on Windows:
*Missed PTHREAD declaration.
2010-04-14 17:15:33 +00:00
5aed24c84e MSVC 9 projectfiles
* forgot to add modifiers.vcproj yesterday - sorry!
2010-04-14 16:59:33 +00:00
b47c91f87c SVN maintenance. 2010-04-14 15:50:56 +00:00
1f87dbbbbc rna api, when linking objects to an inactive scene, dont change its layer, removed NULL object data check since this isnt allowed from the api side. 2010-04-14 08:52:22 +00:00
eb30a66aa6 Fix for crash using splash screen recent files.
Need to find a better method for menu refreshing..
2010-04-14 08:08:15 +00:00
2eddf083e1 avoid using exec() 2010-04-14 07:58:33 +00:00
43500c9e14 Fix [#22005] Duplicated Point Density textures remain somewhat linked 2010-04-14 07:47:04 +00:00
94102b7017 Missed this file too 2010-04-14 07:09:01 +00:00
f24573720c Forgot to add new files 2010-04-14 06:45:22 +00:00
486796ce31 * Interaction Presets
This adds a new presets menu in the splash screen and the Input section of
User Preferences to choose a preset interaction style, consisting of key configurations
and also other user preferences such as select mouse button, view rotation style, etc.
Currently, just 'Blender' and 'Maya' presets are included, hopefully we can have more
presets contributed (and maintained!) by the community.

It's best to keep these presets minimal to avoid too many key conflicts. In the Maya one
I changed the view manipulation key/mouse combos and also the transform 
manipulator keys, not much more than that.

To save an interaction preset, open the user preferences Input section, and press the 
[ + ] button next to the presets menu. It will save out a .py file containing any edited key 
maps and navigation preferences to the presets/interaction folder in your scripts folder.

---

Part of this commit changes the way that key maps are exported/displayed in 
preferences - now partial key configs are allowed. Previously it would export/import the 
entire key configuration, regardless of whether individual key maps were edited or not 
(which would make them more susceptible to conflicts in unexpected areas).

(note, in blender terminology, a key map is a category of key items, such as 
'Object Mode' or 'View 2d'.)

Now, the export and the UI display work in a similar way to how key maps are 
processed internally - Locally edited key maps (after pressing the 'Edit' button) are 
processed first, falling back to other key maps in the current key config, and then falling 
back to the default key config. So it's possible for a key config to only include a few 
key maps, and the rest just gets pulled from the default key config. The preferences 
UI display works like this too behind the scenes in deciding what to show users, 
however using it is just like it was before, the complexity is hidden.
2010-04-14 06:27:50 +00:00
85590301a5 fix for crash when a register script sets material colors, also made some changes to modifier formatting. 2010-04-13 22:43:48 +00:00
6c01295a0a cloth init function not being called 2010-04-13 22:18:35 +00:00
582f1621e5 there were duplicate modifier init's, harmless but better remove. 2010-04-13 22:11:01 +00:00
0d557969b8 used private mutexes to avoid deadlocks 2010-04-13 20:34:40 +00:00
953d938ad1 Testing for the need to quick cache was causing slowdowns on files with many duplis.
* The test is now only done when some object that uses cache has actually changed.
* The added scene->physics_settings->quick_cache_step is only an internal counter, not a user changeable value.
2010-04-13 20:06:55 +00:00
18fb3aa5bf Fix for [#21983] Entering Particle Edit mode crash 2010-04-13 19:44:16 +00:00
2c0287660c MSVC projectfiles update
* big modifier refactor
* added include path to pthreads for BL_gpu.vcproj and blender.vcproj - hopefully only temporarily. Is needed because BLI_threads.h includes <pthreads.h> header!!!
2010-04-13 19:39:28 +00:00
cfb5fec030 Template for 'Running Jobs" now shows Composite thread, for node space. 2010-04-13 17:15:11 +00:00
bc4d93cc16 Adding 'running jobs' button in node header. 2010-04-13 17:11:53 +00:00
fe3a9a2f30 fixed make local bug; it was only looking at editable objects, which of course lib objects are not. 2010-04-13 16:52:18 +00:00
86aa4e5c3d prevent images from freeing gpu buffers if not run within the main thread, instead they are queued to be freed the next time GPU_image_free() is run from the main thread. 2010-04-13 12:51:03 +00:00
e50f798647 Fix for hue correct node, was clamping value of hsv unnecessarily. 2010-04-13 08:30:53 +00:00
403c1e2a8e Todo #21831: Deform modifier is applied to base mesh instead of
multires modifier if both are in the stack (patch #21965)

This patch also removes limitation of multires reshaping when
destination object has got modifiers after multires modifier.
2010-04-13 06:06:49 +00:00
Dalai Felinto
449c270cd5 BGE: stubs update (bplayer) 2010-04-12 23:02:14 +00:00
584dbcc2fc [#21993] Edge Slide operator should disable projection snapping
Adding proper flag.

If there are others like that, other people can fix them too, it's easy peasy.
2010-04-12 22:42:09 +00:00
4824e7eeeb modifier include cleanup, this might need fixes on other systems but hard to avoid.
also removed unused stuff from cmake modifier file
2010-04-12 22:33:43 +00:00
7814d42ec7 Button panels need to get handlers and keymaps... but for now sneaked
in a handy key : Akey in buttons window on a panel will
open or close it.
2010-04-12 17:45:51 +00:00
919565f196 Subframe calculations for particles, original patch by Raul Fernandez Hernandez
* Increasing subframe count increases stability for SPH fluid and Newtonian particles
* Also small tweaks into physics ui panel to better fit new subframes value
* This commit also fixes the moving fluid emitter problem as described by Raul in the mailinglist
2010-04-12 17:34:06 +00:00
99d755656d Rearrange the includes a bit. 2010-04-12 16:15:38 +00:00
d15c7a2eae Merge -c 28147 from COLLADA branch into trunk. 2010-04-12 15:32:59 +00:00
3042f9be8e Fix [#21953] Texture space size seems not updated constantly 2010-04-12 05:04:49 +00:00
Dalai Felinto
7135edb75d BGE: TexFace panel (from patch #21780 from Mitchell Stokes + some changes)
the patch exposes a rna property to get the active edit mode face. This is a hack.
However it's a small patch (a.k.a. easy to revert later if needed).

The official plan is to wait for BMesh before tackling it properly. Nevertheless TexFace panel is really important for BGE.

Missing: operators to copy the current parameters to other selected faces.

* note: what I changed from the original patch is the UI script. The pool wasn't defined and it was using tabs.
2010-04-12 03:06:49 +00:00
091f70e92d Work around to keep compiler going with zlib.h:
In file included from MOD_fluidsim_util.c:62:
/usr/include/zlib.h:1440: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘gzseek64’

TODO: string.h appears twice and "" vs <> seems arbitrary.
2010-04-12 02:56:41 +00:00
e5a01c66a3 Fix external image editor (needs to be a list, otherwise extends adds each character as a list item).
Note: The default value ("start") on windows doesn't work. Start is not a real program.
2010-04-12 02:43:17 +00:00
c79587071f Fix [#21972] Inclusive selection doesn't work for Faces 2010-04-12 02:10:50 +00:00
2b547dac8f Fix many compile errors in fluidsim modifier.
Please enable+compile before committing!
2010-04-12 01:26:56 +00:00
8e4cbaa0c7 Modifiers moved, adjust accordingly. 2010-04-12 01:23:55 +00:00
9563a85242 more header cleanups 2010-04-12 01:09:59 +00:00
93c1a7354f Fix [#21982] Operator bug: Edit mode
Hid the 'Enter Edit Mode' property when adding an object, not necessary anyway.
2010-04-12 00:40:56 +00:00
8c3ab1c2a4 - use more inline math funcitons where possible
- swapped in less verbose math functons
- modifier include cleanup
2010-04-12 00:36:50 +00:00
7d98982295 Patch from Xavier Thomas, tweaks/fixes to FFMPEG YUV conversion code 2010-04-11 23:52:47 +00:00
fbf8287ed1 SVN maintenance. 2010-04-11 23:20:03 +00:00
909493eac9 booleanops.c was moved to MOD_boolean_util.c, remove empty file. 2010-04-11 22:20:02 +00:00
3fdaf5cecc [#14437] Modifier Stack Refactor
patch by Ben Batt (artificer)

Updated patch for 6 or so modifiers added since the patch was written.

- tested with CMake and SCons
- fixed one error were flags were being added to the fluids type.
- remove BKE_simple_deform.h, simple_deform.c, move functions into MOD_simpledeform.c since there were problems with circular deps.
- moved some fluid and boolean functions used by modifiers too.
2010-04-11 22:12:30 +00:00
Dalai Felinto
139a0e7cb8 Copy Constraints Operator
the C code to copy the constraint was already there (same as 2.49) so this operator simply exposes it.
I'm using the name Copy Constraints to Others based on what we have in material operators (e.g. Copy Material to Others).

If we bring back the whole Copy Attributes menu (old Ctrl+C) having the individual operators is still important for scripts. Nevertheless I'm not comfortable with the name (to Others sounds unnecessary verbose) but so far having the functionality back is important (request from Caju Studio). I'll be glad to make any change later if needed.
(no shortcut for that, to use it go to userpref->keymap and assign a shortcut for this operator or add it to the toolshelf)
2010-04-11 22:08:58 +00:00
978609aa44 == Sequencer ==
Made custom proxy files a lot more sensible to select
(upgraded to filepath get/setters)

Changed semantics, since custom files don't make much
sense without custom directories...
2010-04-11 19:26:46 +00:00
a6b8ac5452 == Sequencer ==
Proxy render size settings is now back. (Maybe still in need of some sensible
icons, though...)

Also: waveform color seperation works in N-keys dialog again.
2010-04-11 18:37:49 +00:00
0b99fd9164 SVN maintenance. 2010-04-11 16:41:43 +00:00
56b1c4e47f Specific operator for Push/Pull (no need to go through the generic operator and it makes it available in the operator search) 2010-04-11 16:04:11 +00:00
67cfc427ee PyAPI
- added new mathutils.Color() type, use with rna so we can do for eg:
 material.diffuse_color.r = 1.0
 # also has hsv access
 material.diffuse_color.s = 0.6

 - made Mathutils and Geometry module names lowercase.
2010-04-11 14:22:27 +00:00
4d2bc9f907 mindrones reports cmake 2.4 doesnt work anymore, since 2.8 is current, bumping the minimum version requiired 2010-04-11 12:20:30 +00:00
fe9a22a018 py api file rename
- prefix mathutils api.
- 2 blf.c files (annoying for debugging)
- py api docs ignore keying sets as with operators.
2010-04-11 12:05:27 +00:00
4c5fe03c9f Long outstanding panel feature: press ENTER with mouse on header will
open/close it. Will allow quicker inspections without mouse strains.
2010-04-11 11:52:39 +00:00
5c24ce16b2 Cocoa fix [#21866] : force mouse move event to be sent upon cursor position set request 2010-04-11 11:19:30 +00:00
f3f8855dfe Zoom in/out for Composite Node backdrop is (temp?) Vkey and SHIFT+V.
Scrollwheel is being fully swallowed there now...
2010-04-11 10:49:47 +00:00
ee0a217be3 python function to remove drivers.
eg:
 bpy.context.object.driver_remove("location")

ANIM_remove_driver now accepts -1 as an index for removing all drivers from one path.
2010-04-11 09:13:37 +00:00
Dalai Felinto
a8bca52d09 BGE fix #20456 - 2.5: mouse position problem (offseted by 1 vertically)
In Blender 2.49 the win width and height were been calculated including an extra pixel (e.g. a fullscreen editor would be (width + 1) by (height + 1) )
In opposite to that, Blender 2.5 window/editor code were fixed to have the exact width,height size.
So although the BGE canvas code was still the same as 2.49 it was producing a wrong result.

I'm also adding some commentaries in the setViewport code. BGE is setting the viewports 1 pixel larger.
the setViewport command is been used as if one should pass (minx, miny, width, height), while it should be (minx, miny, maxx, maxy). I will take care of that later, if any one has extra comments on that, please let me know.
2010-04-11 01:53:21 +00:00
4d2f5a275d Solidify Modifier
- vertex normals were not being flipped (though faces are)
- rim faces didnt influence edge vertex normals

apply solidify on top of solidify modifier now works correctly
2010-04-10 22:12:10 +00:00
9eb838ce24 bpy.app was writing members more then once. 2010-04-10 19:06:18 +00:00
6e3920e8fa rna/py/reference doc improvements..
- vectors now respect min/max settings.
- keyframing and adding drivers raises an error in an index is set on a non array, keyframing raises an error if it fails.

reference docs...
- added docstrings for remaining python bpy_struct functions
- added fake class for docs, bpy_struct, which is the base class of everything in bpy.types
- improved inherictance references for struct classes, include bpy_struct members.
2010-04-10 18:35:50 +00:00
c939331a6c QTKit (OSX 64bit): Add audio export to Quicktime
Supports default OSX codecs : Linear PCM, Apple Lossless and AAC

Note that AAC codec doesn't support sample rates above 48kHz. If a python/rna guru knows how to easily enforce this limit, he is welcome!

Enjoy making Quicktime movies now with audio!
2010-04-10 09:31:41 +00:00
c3ab6bc509 rna reference docs, list inherited properties and functions at the bottom of each type. 2010-04-09 20:43:58 +00:00
c169c5ddfe dont document parent classes funcs and properties 2010-04-09 20:04:37 +00:00
7e29154751 Reversion of commit that changes order for keymaps. I thought it
would work for all cases, but greasepencil broke! Needs to get
a bit more thinking or design.
2010-04-09 13:16:17 +00:00
9cea4b3658 Fix for previous commit - better to just use NewRender rather than GetRender 2010-04-09 07:47:57 +00:00
4333027a1d Fix [#21529] Operator.report() has inconsistent behaviour with newlines 2010-04-09 07:00:27 +00:00
d776172cf7 Attempted fix for [#21491] rendering from the api does not work
Render was hanging on to old callbacks from interactive wmJob render when used 
as a blocking render from py API.
2010-04-09 04:57:50 +00:00
e695dced72 Fix [#21949] View center seg fault
Operator needed a better poll function
2010-04-09 01:44:24 +00:00
77833847ee Patch from Xavier Thomas: Use vertex arrays for drawing image editor vector scope
too, making it a lot more efficient.

Also fixed issue with scopes height not being stored in file properly.
2010-04-09 00:44:35 +00:00
Dalai Felinto
c1a9d4d7a3 Bugfix: 21586 - UI problems with Tiled Textures (animatable for GE)
The problem was present in Blender 2.49, but it didn't produce any side effect.
glScale was changing the texture matrix and the matrix was never been reset. That messes up with UI drawing.
2010-04-08 20:58:18 +00:00
42db34b126 three things:
- ALT+Scrollwheel zooms backdrop in node editor
- Blender -d debug print will also print every event except mouse moves
  (needed to debug WM, some events are catched by OS)
- Changed order of keymaps... the default maps now are evaluated *after*
  the own custom maps, so you can make overrides or defaults.
2010-04-08 16:36:50 +00:00
39d3ff135f no functional change
- convert solidify edge crease values into chars once rather then for each edge.
- sort vertex was checking the array all the time when it wasnt needed.
2010-04-08 16:08:06 +00:00
d8b2b388a7 bugfix [#21812] Crash with -b -P on blend files saved with older blender versions.
from Elia Sarti
2010-04-08 14:39:16 +00:00
eedce6b322 Bringing back code style to how WM was made.
Check this diff to see difference... mixed styles in 1 file are not OK!
2010-04-08 13:12:53 +00:00
1c031d968b Merge -c 28089 from COLLADA branch into trunk. 2010-04-08 11:57:23 +00:00
23e6ada74f bugfix [#21929] linking in groups into a linked in scene is possible and those groups can't be deleted
- Disallow this and report a warning in the console when it happens.
 - File selector operators now report in the global report console.
 - Cleared some warnings.
2010-04-08 11:46:52 +00:00
df395faf22 Fix 'Region to Loop' not updating mesh selection modes properly 2010-04-08 11:26:10 +00:00
be3abe7b68 Fix for previous FFMPEG commit, needs extra version ifdefs 2010-04-08 06:10:41 +00:00
7693bbf484 Fix [#21890] YUV->RGB: Color clamping 16-235 in all motion pictures (ffmpeg)
Patch by Troy James Sobotka - this uses options in newer FFMPEG versions to 
convert the full 0-255 YUV range of imported imagery to RGB, rather than 
clipping at 16-235.

This functionality is not available yet in an official FFMPEG release 
(current precompiled version in /lib for osx at least is v0.5.1 from 2009) so this 
won't take effect in that situation, but if you've got a newer ffmpeg on your system
it will work.
2010-04-08 03:26:49 +00:00
b2330d44d2 * Texture Mapping Panel could raise an error, missed check for an active texture slot. 2010-04-07 18:08:30 +00:00
11b52ae30a The daily node commit: brought back panning background image.
For now it is on ALT+MiddleMouse. The view2d code eats the shift+mmb,
which is not necessary, but will have to ask Joshua to be sure. 

Probably tomorrow it's shift+mmb as for 2.49.
2010-04-07 17:06:22 +00:00
54b12df3bc Added tongue and neck rigs. The neck rig is quite solid, I think, and is working well in production on Durian. The tongue rig is a bit hacky, but I'm adding it for now since we're using it in Durian.
Also added pupil dilation to the eye rig type, and made the finger rig type work with two-digit fingers.
2010-04-07 14:46:06 +00:00
8bf6e2d09c Auto Keyframing:
Made 'PoseLib', 'Pose Paste', and 'Transforms' use the active KeyingSet instead of a hardcoded one if there is an active KeyingSet and the 'Only Insert for Keying Set' option is enabled in the User Prefs.

Also, made sure that for transforms, the active KeyingSet is provided with the data being modified instead of having them retrieve this from the context (which may miss a few items).

---

While making the changes for pose paste, made pasting poses not destroy the existing properties on the bones if the buffer bones didn't have any properties to replace the old ones with. IMO, this seems a bit too destructive if they don't get replaced, but perhaps in some cases not removing causes some problems with bad poses?
2010-04-07 11:27:59 +00:00
e81c198e9a Disable part of commit #28064, this also clears the path on any file giving
problems with file saving, proper fix will come later.
2010-04-07 10:25:43 +00:00
c66b0a32ca Fix crash in file with image editor that was saved after using scopes. 2010-04-07 10:12:24 +00:00
9bf395e7cd Fix [#21940] Hotkeys conflict in Edit mode between (fill, beauty fill) and (make/clear F-gon)
Removed make/clear f-gon hotkeys, rarely used and people who want them can bind it 
themselves anyway.
2010-04-07 09:35:14 +00:00
9acba540db Fix [#21756] Texture paint "quick edit" sending wrong path on unsaved scenes
* Made it use the temp directory in user preferences when the .blend file hasn't been saved yet
* Made bmain->name (wrapped as bpy.data.filename) contain an empty string when 
there's no .B25.blend and no file saved, rather than "<memory2>".

This is a good candidate for consistent file path api, retrieving temp dirs / project-
specific temp dirs / etc...
2010-04-07 09:07:06 +00:00
45ce1c003d Modes are now toggled on using operators on load if the file was saved in
that mode. This ensures proper initialization happens like creating the
cursor or building an acceleration structure. It also means edit and
particle mode are now saveable.

Not sure yet if this is a good feature, though personally I like being able
to load my exact state again after saving, but maybe entering edit mode is
too slow in some cases? It's easy to make it work only for the sculpt/paint
modes again if wanted.

This fixes bug #21004 about a missing sculpt cursor on load.
2010-04-07 08:27:13 +00:00
f4e312dd1b Revert a crappy line from revision 28060. 2010-04-07 05:48:52 +00:00
50726e7eb3 Fix [#21677] mouse dragging the translated object doesn't release the object
after a while

Drag code was inadvertently changing the eventstate->type, which isn't 
necessary. Patch #21723 by Anthony Edlin fixes this. Thanks!
2010-04-07 05:39:24 +00:00
4fb5e5ce35 more functions to stubs.c 2010-04-07 02:14:46 +00:00
9bb23d93b0 Clarify tooltip for 'Align to View' option for adding objects -
It can only align to 3D view when adding the object from a 3d View (eg. shift A), 
not the top level add menu.
2010-04-07 01:51:32 +00:00
7efe41bc22 Fix [#21257] Renders blank images when audio clip is present.
Only render sequencer when there are non-audio strips on the timeline.
2010-04-07 01:21:10 +00:00
c960dc9401 [#21931] Rotate Edge CW inverted with CCW
Edge rotate directions were seemingly switched (when looking at geometry with face 
normal pointing at view), so flipped them.
2010-04-07 00:54:13 +00:00
58a38bfc08 Fix [#21760] Snap to Origin doesn't work
Removed the 'Snap selected to origin' operator, it was dysfunctional and other operators 
contain better functionality to do the same things.
2010-04-07 00:43:06 +00:00
6996d7b032 Brought back:
Node R-key: read scene layers (from temp buffers)
     SHIFT+R: read full sample layers.
2010-04-06 17:47:21 +00:00
2a1644401e Fix #20365: new render window does not respect Windows taskbar at top of screen. 2010-04-06 17:11:38 +00:00
be6d0ca63b Fix #21166: changing image file path does not update texture preview. I've
made it regenerate previews and icons now for this case. Depsgraph for all
datablocks could solve this much nicer..
2010-04-06 16:53:48 +00:00
7b4536b3a9 Fix #20911: automatic bone weights work poorly when vertex lies
exactly on a bone, tweak epsilons to make this work better.
2010-04-06 16:25:06 +00:00
080c49d176 Fix #21545: geometry node front/back incorrectly depended on camera angle, can
actually be implemented simpler now.
2010-04-06 10:24:57 +00:00
2275b69ff8 Quick fix to NLA-Baking for Beorn:
Group baked F-Curves by bones instead of by transform type.
2010-04-06 10:07:24 +00:00
268e057e78 Area Swap: fix memory leak and access to freed memory. 2010-04-06 09:36:35 +00:00
40273931a6 Fix, python changes to array properties were not yet calling update
and notifiers like other properties.
2010-04-06 09:11:33 +00:00
86b38129c6 Fix #21402: python operator redo properties not refreshed. Now sends a
NC_WM|ND_HISTORY notifier on registering an operator.
2010-04-06 09:07:39 +00:00
c3f64b15ca Tweak/code shuffle to make disabled buttons draw nicer on nodes. 2010-04-06 09:05:00 +00:00
4af2b61684 Fix #21393: some render error messages were not passed to the user. 2010-04-06 08:47:20 +00:00
f1ac9b559e "Fix" for [#21591] Explode modifier bug
* The new default particle size is quite small, so exploded pieces didn't match the original pieces
* There's now an option to use the particle size (useful for some effects), but it isn't used by default
* This commit will change how some old files look (explode modifier and not 1.0 particle size), but the exact old behavior is achieved with the new "size" option
2010-04-06 08:43:52 +00:00
12f2a75294 Fix for [#21928] Can't assign hair 2010-04-06 08:23:28 +00:00
9efc0dd71d Fix [#21194] Swap regions stopped working
Cleaned up a code mismatch that I think got there by accident before.
Now area swap is assigned to Ctrl LMB drag to prevent any 'emulate mmb' conflicts.
2010-04-06 08:11:37 +00:00
bad41fcff5 - new docstrings for bpy.type.Struct methods & some corrections.
- struct.path_to_id() --> path_from_id().
2010-04-06 07:49:10 +00:00
5304a65b50 Fix [#21516] UI artifacts in array modifier
Modify the glClearColor used to draw disabled buttons, when creating a ROUNDBOX
ui element. Made a convenience function and rippled it though, too.
2010-04-06 07:02:16 +00:00
b9d60f2010 Fix [#21440] Bug or loose feature? Texture painting brushes
Removed extra brush features that aren't applicable in some painting modes from the UI.
Would be great to have this properly cleaned up and made consistent.

Also tweak to startup blend, hiding brush tools panel.
2010-04-06 05:52:52 +00:00
34236eb67c Patch #21911: Uppercase Windows Drive Letters in File Open Window
Submitted by: Harley Acheson

Harley writes:
The normal convention in Windows is to show drive letters in uppercase, as in "C:\", not "c:\" as
seen in the File window.

Although Windows file paths are generally case insensitive, drive letters have been shown as uppercase since the early
DOS days.  Seeing them in lowercase in the Blender File window looks a bit strange.
2010-04-06 05:02:59 +00:00
0d75dce042 Bugfix #21552: Alt S Envelope scaling key conflict
Keymap conflict. Remapped all shrink/fatten or 'fatness' resizing tools to use Ctrl-Alt-S instead of Alt-S, since Alt-S needs to be kept for consistency with clear transforms operators.
2010-04-06 04:45:49 +00:00
56b67d41aa Bugfix #21916: Baking NLA strips doesn't group transforms
- Added an optional string arg to struct.keyframe_insert() and struct.keyframe_delete() for the name of the group to add the keyframes to (for newly created F-Curves), instead of doing this as post process.

- Added error prints to the RNA function for setting an F-Curve's group. The old way of setting the groups afterwards couldn't be used anymore, since there was no way to find the action the F-Curve belonged to. This is necessary if the F-Curve list is to be kept in a valid state, since adding to any random group that may not be in the same Action does not work well. There were other issues with the list being iterated over changing while it was still being iterated over too...

TODO: 
Find a way to allow the iterator there to still work ok?
2010-04-06 04:25:48 +00:00
825c162167 Fix [#21678] Crease color cannot be adjusted
Gave edge crease a unique theme colour.
2010-04-06 02:36:37 +00:00
bfe248b3d6 Patch [#21750] Add luma waveform and vectorscope to image view
by Xavier Thomas

This adds the waveform monitor and vectorscope to the image editor 'scopes' 
region, bringing it inline (plus a bit more) with sequence editor functionality,
and a big step closer to the end goal of unifying the display code for image/
comp/sequence editor. It's non-intrusive, using the same code paths as 
the histogram.

There's still room for more tweaks - I modified the original patch, changing 
the openGL immediate mode drawing of the waveform display to vertex arrays for 
speed optimisation. Xavier can look at doing this for the vectorscope now too.

Thanks very much Xavier!
2010-04-06 02:05:54 +00:00
ea7fdb55a3 Compile fix to collada after ED_object_apply_obmat() was removed.
Arystanbek, please feel free to fix if it's not ok :)
2010-04-06 02:05:02 +00:00
041cc01646 Patch #21697: GLSL shadows work again, by Matthias Fauconneau, thanks! 2010-04-06 01:34:55 +00:00
9498121463 Object API changes so these functions now require a scene as first argument:
create_mesh, create_dupli_list, make_display_list and is_visible.

This is done in order to make these context independent as the RNA API should
be as much as possible, and to fix #21297 and #21719, where there was an
assumption from these functions that there is a scene in the context, which
does not work for external render engines exporting in a separate thread.

Also avoided using context in a number of other functions, ideally only UI/WM
type functions should use context.

I've updated the scripts in trunk, but the addons and external ones in
development will need updates too.
2010-04-06 01:28:39 +00:00
b1e556890d Fix compile error, missing semicolon. 2010-04-06 01:20:45 +00:00
1c1d10f285 Fix #21577: incorrect camera selected when loading file without UI. 2010-04-06 01:18:52 +00:00
93cc8eea45 Fix #21383: appending a group would also instance it by default, which
will give duplicate objects since the actual object are appended already,
so only enable this option by default for linking now.
2010-04-06 01:16:39 +00:00
bfe04b23a4 Making sure updates are not lost. 2010-04-06 01:00:59 +00:00
e302f33be7 document bpy.types.Struct methods C methods, currently only keyframe_delete() and keyframe_insert() have useful docstrings.
http://www.blender.org/documentation/250PythonDoc/bpy.types.Struct.html?highlight=bpy.types.struct#bpy.types.Struct.keyframe_insert
2010-04-05 22:37:09 +00:00
a9fa23c624 Request: auto link to viewer node back. Used to be ctrl+click, is now
shift+ctrl+click, because the ctrl_click goes to knife cutting.

Implementation note: this is a macro, select + link.
2010-04-05 18:34:18 +00:00
1f9b03f64c Fix #21266: cyclic dependency checking for texture nodes was missing. 2010-04-05 17:30:11 +00:00
35c0e5052a Merge -c 28014 from COLLADA branch into trunk. 2010-04-05 15:47:57 +00:00
ffd1f1666e Fix #21641: crash when disabling active addon, removing operator
type could still leave it in the history stack.
2010-04-05 14:21:57 +00:00
84644909f1 Bugfix #21856: Empty F-Curves created when keyframing with 'auto keyframing mode' set to 'replace' caused problems with bad rotations and scaling to a point.
Now, when the mode is 'replace', no F-Curves are created during keyframing (i.e. only existing F-Curves are used).

---

Also, fixed missing line in previous commit for Select Linked.
2010-04-05 12:17:33 +00:00
f525312721 Animation Editors: Select Linked Operator
This operator selects all the keyframes in the same F-Curve as a selected keyframe.
2010-04-05 11:47:55 +00:00
f529360152 Fix #21828: vertex group remove function removes vertices from all groups. 2010-04-05 11:22:49 +00:00
1af9e1fb2b Fix #21885: constraint with copy location/rotation from vertex group crashes. 2010-04-05 11:11:15 +00:00
ec5527cb52 Fix #21349: triple buffer drawing doesn't work well with thousands of
colors setting on Mac, just disabled it in that case.
2010-04-05 10:25:40 +00:00
8b7d1775c3 Fix for [#21908] SPH fluids - crash when editing while playing 2010-04-05 09:46:01 +00:00
fee3daee56 'Fix' [#21843] Manipulating Set Render Border sliders causes a crash
Just make the operator cancel if the region in the context is not a RegionView3d.
This is not an issue isolated to this operator, it affects other ones that require a
RegionView3d too, like knife. One to solve for later, at least this doesn't crash now.
2010-04-05 08:13:04 +00:00
35d7c86b14 Fix [#21909] full sample motion blur
Stop animation playback before rendering
2010-04-05 07:57:05 +00:00
944c2a43d9 Bugfix #21914: SigSegV when loading file with missing proxy object
This 'should' fix it...
2010-04-05 07:20:34 +00:00
8599c4507b Bugfix #21212: Segfault when object.add_vertex_to_group() called with invalid vertex index
Safety checks are now performed before indexing into the dvert array obtained.
2010-04-05 07:16:22 +00:00
747b985824 Bugfixes for Grease Pencil and the Image Editor (includes fix for #20921):
* Fixed crash with when/after undoing Grease Pencil sketches in the Image Editor. To get this working, I've had to sacrifice the backwards-compat loading for old .blend files from 2.49 which were using the same pointer as the new data (local data vs datablock data). If anyone has any ingenious hacks to fix this, go ahead, but otherwise, some caution is advised here... 

* Grease Pencil block used for Image Editor instances can now be changed

* Enabled proper active polls on the advanced 3D-view projection methods for drawing. These are not valid in views other than the 3D-View, and so should not be shown as available for use elsewhere (though may still be shown just so that users know what mode an 'imported' datablock may be using).

* Enabled proper updates for Grease Pencil editing in the Image Editor. Was missing notifiers for this stuff.

* When drawing in the Image Editor with no image active, the system now (quietly) switches to using screen-space 'view' vs 'cursor' space for the strokes, since the previous behaviour was confusing with strokes disappearing after drawing them. IMO this is a much better option than the confusion that occurred before, even though it does change the user's settings under their feet!
2010-04-05 06:52:27 +00:00
5478384761 Fix [#21886] OBJ export crashes if attempted while in edit mode
Didn't crash for me, but did export incorrectly since editmode changes weren't flushed.
Fixed this by setting all exporters to go back to object mode before exporting.

Also cleaned up some naming in exporter creator strings, it's "Blender" not "Blender3D".
2010-04-05 06:45:44 +00:00
75df05b83f Fix [#21861] hemi light and shadow only maerial
Made Shadow only materials render as completely transparent when there are no 
shadow casting lamps - more logical than solid black.
2010-04-05 05:46:39 +00:00
00877ceaae Fix [#21895] Incorrect calculations for measurement system
3d view grid scale text description wasn't using unit scale correctly
2010-04-05 05:32:16 +00:00
f8c2df7ce7 Fix [#21912] knife and subdivide tools do not split edges properly
Added back the 'corner cut pattern' as an operator property for subdivide operator. 
Not added for knife yet, since operator redo doesn't seem to be working at all - 
already logged in the tracker.
2010-04-05 04:58:17 +00:00
76e483edef Durian Feature Request for Graph Editor: Border Select (optionally) considers handles
Early when implementing the Graph Editor in 2.5, a key complaint that was levelled at the old 'IPO Editor' was that it was a constant annoyance that adjacent handles were getting selected in addition to the keyframes, when only the keyframes were intended. I solved this by making this default to only selecting keyframes and ignoring the handles, but this means that it isn't possible to batch move several handles at once. 

I've now improved this situation by adding an option to the border select operator (involved using Ctrl-B instead of B) which makes the handles get treated separately (as if they were separate verts, as in 2.4x). The default is still to only select keyframes, to have consistency with the DopeSheet...

Also performed some more renaming work in the code...
2010-04-05 03:37:28 +00:00
d329388245 Missed one of the tweak operator for nodes when adding new param. 2010-04-05 00:06:06 +00:00
f90f3d9c29 Animation fixup squad to the rescue!
R 27991 broke all script-based Keying Set support, including all the Built-In Keying Sets. This meant that it nearly impossible to still keyframe anything (there are other less convenient ways, but none work quite as well).
2010-04-04 22:13:57 +00:00
09489418a3 [#21910] Add Current Time to Render Stamps
by Harley Acheson (harley) 

note from the submission
-snip-
While in there I removed the Win32 conditionals that made "_strdate" used to
get date on Windows. "localtime" works fine on Windows so the results are consistent on all platforms.
2010-04-04 21:57:51 +00:00
687c752b75 Commented out some unimplemented operators, avoids gray text in the UI
Also I noticed there's a check on strip.type == 'EFFECT', which can never be true because strip.type actually contains the type of effect, e.g. "GLOW", "ADD" etc. Not a big problem currently because it's not used.
2010-04-04 18:56:03 +00:00
415a6f6015 make keying set path functions members of the paths collection 2010-04-04 17:42:40 +00:00
670d499c8b added negative bounds checks so drawing text into a buffer wont crash. 2010-04-04 15:03:45 +00:00
bc149e0fbe pep8 cleanup 2010-04-04 14:52:15 +00:00
97454d7b85 no functional changes. use sizeof() and MAXFRAME 2010-04-04 14:33:41 +00:00
cddd6a56dd [#21867] Add rotate option to blf module
by Dan Eicher (dna)
2010-04-04 13:05:38 +00:00
c5871b8750 Fluid physics for particles by Raul Fernandez Hernandez (Farsthary) and Stephen Swhitehorn:
This patch add SPH (Smoothed Particle Hydrodynamics)fluid dynamics to the
blender particle system. SPH is an boundless Lagrangian interpolation
technique to solve the fluid motion equations.
 
From liquids to sand, goo and gases could be simulated using the particle
system.
 
It features internal viscosity, a double density relaxation that accounts
for surface tension effects, static internal springs for plastic fluids,
and buoyancy for gases.

---------------------------------------

This is a commit of the core fluid physics. Raul will work on proper
documentation soon and more features such as surface extraction from
the particle point cloud and increasing stability by sub-frame calculations
later.
2010-04-04 12:29:06 +00:00
d574e8b826 2.5 Preview Render:
* Converted Type Buttons (Flat, Cube, Monkey etc.) in Material Preview to RNA. 
* "Alpha" option in texture Preview Render is back!
2010-04-04 12:09:59 +00:00
426aaaa0a2 Use DerivedMesh->getNumFaces function in drawSolidSelect() if curve
object has got derived mesh.
2010-04-04 11:07:42 +00:00
694934a2f7 Fix #21850: Modifier applied to surface doesnt work when only a curve.
I removed 3D flag checking for DL_POLY displists in nurbs-to-mesh conversion
function -- DL_POLY displist should be always converted to edge loop.
DL_POLY which should be converted to something else is odd i think.

This commit also fixes trouble cyclic surface curve to mesh conversion problem.
2010-04-04 11:07:34 +00:00
a5156d139e Fix crash entering edit mode on linked duplicate meshes with
dupliverts. The flag mode & OB_MODE_EDIT only indicates that
this object is being edited by the user, not if the mesh is
in editmode or not, it should check for the existence of
me->edit_mesh. Also corrected two other places for this.
2010-04-04 10:37:47 +00:00
5de041c51f Histogram and line sample can now be resized vertically 2010-04-04 02:37:22 +00:00
f7977ab8cc 'Active spline' theme setting was not getting initialised on old files 2010-04-04 02:08:38 +00:00
4021db8af8 Added a new 'straight line' gesture type that can be used in any operator.
Use this for image editor Line Sample tool, rather than custom modal operator/
custom drawing.
2010-04-04 00:21:37 +00:00
069e955a1d keymap.add_item, add_modal_items --> keymap.items.add()/add_modal() 2010-04-03 22:09:44 +00:00
824be96dc0 More work on Drag Immediate:
- Rename option and flag to something more sane
- Add property to manipulator operator and set true by default

Confirm on Release can now be forced true or false per operator, in which case it won't use the default value (the user preference).
2010-04-03 17:38:43 +00:00
ea44ea86f9 Bugfix #21896: Adding an modifier to a NLA strip adds it to all NLA strips
When adding modifiers to a NLA strips vs adding to the active NLA strip only, was missing a check that strips were selected first.
2010-04-03 11:19:17 +00:00
939a83e347 OSX: CMake & scons update for Ogg/Vorbis/FLAC added support to lib SNDFILE
Note that you need to svn up the precompiled lib folder (darwin-*) too to be able to build with SNDFILE
2010-04-03 09:54:38 +00:00
c1e55a75b8 Commit removing Mesh Deform modifier's surface mode broke the it's UI 2010-04-03 09:09:48 +00:00
bee158cf02 Adding Subdivide UVs flag to modifier UI 2010-04-03 07:57:28 +00:00
8ab985a816 Patch #21892 by Ruslan M (luciofulci): Removing 16 materials per mesh
limit from OBJ import script. Also made split materials off by default
2010-04-03 05:20:58 +00:00
5a805c5fc3 [#21840] When clicking to move a Node it sticks to the mouse
Add hidden property to be able to force confirm on release (drag immediately is a silly name) on or off.

Streamline method for adding common properties to transform operators.
2010-04-02 19:40:51 +00:00
9a027080df RNA Property debug in Main, mapped to G.f's G_DEBUG 2010-04-02 19:38:20 +00:00
ea5936db0c [#21865] Blender V Alpha 2 X-mirror Extruding error
Forcing mirror off on extrude transform
2010-04-02 18:16:24 +00:00
d4340289a6 Set Scenes and Physics
- objects in a set scene now are evaluated with the frame from the current scene.
- pointcache now loops over all set scene objects.
2010-04-02 14:57:12 +00:00
70540fca3b bugfix [#21230] set-scene animation updates not working
fix for empty scenes with SETLOOPER macro.
2010-04-02 13:43:56 +00:00
e27fbba217 commenting hamx format, should evertually be removed along with amiga format. 2010-04-02 12:18:01 +00:00
341843bc54 Batch renaming some keyframe editing internals in preparation for more generic keyframe editing API, allowing more niceties... 2010-04-02 12:02:39 +00:00
fb4b16b799 "Fix" #20225: mesh deform surface modifier problems. This mode was an
experiment and turn out to work poorly because it does not preserve
rotations, so I've just removed the option now. Alternative is to use
a solidify modifier on the cage mesh, which will usually give better
results.
2010-04-02 11:39:40 +00:00
b1a0c86163 pointcache in set scenes wasnt updating 2010-04-02 11:18:52 +00:00
5d155868fb Fix [#21694] text input box last character not editable
Font kerning needs to be set in order to get accurate results out of BLF_width(). 
Would be nice if this was more automatic, I've added it to a few other places that 
seem like they need this though it's a little unclear due to the globals etc. Also 
some other minor tweaks when editing text fields.
2010-04-02 11:15:37 +00:00
d03d42fe72 text drawing with zbuffer checks was way too slow, commenting for now. 2010-04-02 10:32:58 +00:00
ab1aab93d1 Simple crasher fix: TAB to change mode crashed after moving all the scene's objects to a hidden layer. 2010-04-02 10:07:31 +00:00
91ee8e045f World RNA:
*3D View (camera perspective) didn't update on changing some Star settings. They were missing ND_WORLD_DRAW notifier.
2010-04-02 09:09:10 +00:00
c64f5579d7 avoid error message when stopping animation playback. 2010-04-02 08:51:48 +00:00
1c76b22ba0 Fix [#21868] Header flickering when mouse moves over region borders
Patch by Elia Sarti, thanks!
2010-04-02 05:46:05 +00:00
31c71d0a80 Fix [#21852] Empty Objects slow down performance
This replaces the screen-aligned bitmap text drawing with wireframe x/y/z as 
part of the empty axis openGL code. It's a lot faster in all situations that draw 
empty axes to screen - including posing armatures with axes on (5fps vs 40fps 
on tracker test file).
2010-04-02 05:05:49 +00:00
7b98f6220b Bugfix #21853: Border zoom in the 2D-Views zooms out
* Fixed the way the operator was checking for what the user wanted when using the operator
* Added a few specific defines to a copy of the gesture border modal keymap (added one for zooming only) labelled 'In' and 'Out' which make this more useful than being hacked to use select and deselect
2010-04-02 03:52:44 +00:00
174696fd54 Fix [#21874] Sun/ Sky breaks when sun is in the night rotation
Disable atmosphere when the sun lamp direction is below the horizon. This 
feature needs a re-code...
2010-04-02 01:28:14 +00:00
12149d8cd9 Bump subversion number so that new defaults initialisations from prev commit will work ok. Missed this file when committing... 2010-04-02 01:04:26 +00:00
c6b77a06dd Keyframe Defaults and Cleanups:
This commit fixes reports #21638 and #21818, which were both also Durian feature requests.

Cbanges:
* Added new default setting for the type of handles created when creating keyframes. This can be found in the user-preferences, and is used whenever existing keyframes aren't being overwritten (instead of the value being always taken from the keyframes either side, #21638).

* When keyframing over existing keyframes, only the values will be changed. The handles will be offset by the same amount that the value of the keyframe changed, though how well this works in practice still needs to be tested more thoroughly (#21818, already fixed earlier, but this commit is the full fix).

* When 'free' handles are added by default, they are offset to be +/- 1 frame on either side of the keyframe so that it is obvious that they can be moved. However, they just take the same value of the keyframe since this is easiest.

* Properly initialising handle colour defaults for 3D-View and Graph Editor. Graph Editor's theme userprefs also show these settings now, though the layout is really quick hack-style.
2010-04-02 01:03:40 +00:00
248f1380af Tiny fix [#21871] Mesh tools, merge, use of "vertices" where only a single vertex has been removed. 2010-04-02 00:27:30 +00:00
485c26578c would not want to wait for 'that' on every build
MS scons win32  skip calling makebsc by default
2010-04-01 23:58:12 +00:00
9105f6f0bd rna naming, *_frame --> frame_* 2010-04-01 21:44:56 +00:00
4924654b03 Remove some experimental python script code. 2010-04-01 20:48:20 +00:00
7f5e6b8626 Added visible_bases and visible_objects to screen Context.
Also fixes [#21576] bpy.ops.object.select_all() doesn't function
2010-04-01 19:48:29 +00:00
8ba6b0a47b [#21835] Improved Addons in User Prefs by Keith Boshoff (wahooney)
This adds a "description" field to addons (ideally a small 1 liner, with basic info)
2010-04-01 17:50:49 +00:00
68fb0d98d9 Smoke:
* Bugfix for missing high res calculation when low res cache was already there
* Bugfix for loading file with smoke but tfor the first "round" of alt-a nothing happened. Now the smoke gets calculated on file load, too.
2010-04-01 14:44:31 +00:00
7e776137ed Fix #21771: crash in render baking with image that can't be loaded. 2010-04-01 14:32:08 +00:00
df827a6400 move operator reports into a global list so they display in the console. 2010-04-01 13:54:53 +00:00
aff0551e5b Some minor python UI script fixes. 2010-04-01 12:53:38 +00:00
9822e07be6 Attempted fixes for render crashes on windows, still can't redo them here
in a virtual machine, maybe that has some different threading behavior.
Also should fix a problem with displaying render passes and multiple slots.
2010-04-01 12:51:24 +00:00
11e8376866 scene.timeline_markers.add/remove() support. 2010-04-01 12:10:21 +00:00
c6952f0450 Bugfix #21763: extremly zooming into graph editor via ctrl+mmb locks up blender
Curve sampling minimum 'sampling frequency' for display could get too low causing a hang (with really-slow convergence). Clamping with a coarses limit now.
2010-04-01 11:59:27 +00:00
a6f02e27d8 missed in merging from render branch 2010-04-01 09:29:35 +00:00
4a471a3a98 Added missing Bottom, Left, Back view modes in the "View" menu on 3D area 2010-04-01 08:55:47 +00:00
4702e37353 commit 27896 : merge render branch into trunk reverted changes in rna_curve.c 2010-04-01 08:49:11 +00:00
d1fef786b7 allow action groups with "" name, (just uses "Group" instead) 2010-04-01 08:39:08 +00:00
86a112e8a5 Fix [#21860] Quads/Triangles Selection miss to mark some Edges. 2010-04-01 06:37:35 +00:00
2f1385c189 Fix [#21347] no image at node editor
Node preview render wasn't getting the correct test_break callback
2010-04-01 06:30:05 +00:00
c46a955ee0 Assorted animsys fixes/tweaks:
* Fixed all the dangerous code added in 27907. Using the code there, scripters could corrupt animation files in ways which would render them useless, with channels not appearing in any animation editors, and others not getting evaluated at all. 

* Partial fix of bug 21818, by disabling destructive replacement of keyframes. Will followup this commit with a more comprehensive commit which gets rid of the rest of the problems, by incorporating some requests from Durian team.

* Fixed problems with users being able to see+edit the name of the active Keying Set in the Scene buttons. There is still a bug though with the list widget given how the indices are now interpreted...
2010-04-01 06:26:41 +00:00
ceebd182ed Fix [#21298] Colour Management: Convert To Float & Use Colour Balance Linearising VSE Strip
Removed all colour management from sequencer, need better design/plan for this.
2010-04-01 03:58:20 +00:00
f49a82b03e Fix [#20711] Loop selection not working with Emulate MMB + Left mouse select
Emulate 3 button mouse is now disabled when Left mouse select is used, to
prevent keymap conflicts. Configs for single button macs etc we can do with
keymap presets.
2010-04-01 02:28:08 +00:00
8f5438dcd4 Fix [#21775] Double-clicking icons in the file browser doesn't open files
Complicated issue, but this should be correct, and testing goes fine. fingers crossed.
2010-04-01 01:27:22 +00:00
Dalai Felinto
ea0e0b3f15 BGE fix: Parenting the object to itself crashes BGE + stubs update
it may happen if you start doing exec, setParent, ... in Python
not a big deal, but to crash Blender is always bad
2010-03-31 22:49:59 +00:00
c19725b266 svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r27895:27901; svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r27902:27907, skipping 27902 2010-03-31 20:39:08 +00:00
3c6a0274b9 cleanup
* removed code that could lead to Blender writing in the Windows directory - is very old cruft and doesn't work on recent versions of Windows anymore and rightly so :)
2010-03-31 18:02:56 +00:00
d7b2f685f0 MSVC 9 projectfiles
* maintenance - removed BLI_dynamiclist.c
2010-03-31 17:46:17 +00:00
f87f5d67ed Merge -c 27903 from COLLADA branch into trunk. 2010-03-31 15:04:46 +00:00
8c1f847a47 [#21762] BLI_dynamiclist is never used
data structure has some advantages but isnt used. removing for now.
2010-03-31 12:35:05 +00:00
94c35e2012 [#21851] Bugfix: [#21254] text editor jump to line crash
by Ignacio Fernández (hellmoon666)
2010-03-31 08:33:43 +00:00
ba627ff40c svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r27867:27871 2010-03-31 07:28:23 +00:00
2910d75f2c svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r27875:27895 2010-03-31 07:22:18 +00:00
7af91f6663 Only add drivers (and keying sets, keyframes etc) when exact key combo is
pressed. This prevent adding drivers to properties when mouse is over a node, 
trying to duplicate it with Shift D.
2010-03-31 07:03:13 +00:00
cc29dcec69 taper/bevel object checking moved from RNA update to RNA pointer set function. 2010-03-31 07:02:24 +00:00
b3e87146b6 Fix [#21826] Memory Map growing in size on each render
Image node wasn't properly getting marked to free compbuf data when using premul.
2010-03-31 07:00:59 +00:00
8616d22dc3 Fix [#21727] texture in compositor quickly results in crash
Hopefully this is correct - looks like the CompBuf->node pointer was getting left
out of the per-thread copying/localisation.
2010-03-31 05:44:21 +00:00
89cd90379f Fix:
[#21841] SplitViewer doesn't backdrop in Node Editor
[#21803] Cant See Split Viewer on UV editor
2010-03-31 02:21:32 +00:00
4a451714d6 Fix [#21832] Add Modifier, Pinned Context
Added convenience function ED_object_active_context(C) to get either the
object in the data context, or if not, the active object.
2010-03-31 00:55:01 +00:00
05c2906b76 Patch from Xavier Thomas:
YCbCr conversion function according to ITU-R BT.601/709 and JFIF

Clarifies color space usage in rgb->ycc conversion, doesn't change existing results.
2010-03-30 23:32:16 +00:00
c9f81c87b8 bugfix [#21743] Incorrect Rim Normals with Screw mod and Solidify Mod on a Curve Object 2010-03-30 23:16:42 +00:00
5f070227ac trick to give correct normals for cyclic curves used with the screw modifier. 2010-03-30 22:43:43 +00:00
Dalai Felinto
c9a93211b5 bge bplayer stub update.
For the record Blenderplayer looks working pretty well now. If you have problems loading textures make sure you rebuild your makesdna project (or try to find the non-existent bug for a few hours).
2010-03-30 21:39:05 +00:00
80f2eb9d2b Merge -c 27876 from COLLADA branch into trunk. 2010-03-30 18:21:47 +00:00
0d19b4167c - Call DAG_id_flush_update for each object in convert operator if keep_original
option is switched off. This fixes trouble when user converts curve which is
  set as taper/bevel object to mesh (scene kept unchanged until object
  recalculation).
- Moved checking of taper/bevel objects type to RNA property update handlers.
- Added resetting taper/bevel object in do_makeDispListCurveTypes it this
  objects aren't curves.
2010-03-30 18:10:05 +00:00
d0f8d9f38c Fixed segmentation fault when non-curve object is setting as a taper
Deny user to select non-curve objects for taper and bevel lists, also
added some checking into displist and curve modules - object could be
converted from curve to mesh (would be better to unset bevel/taper
object in this case -- will try to implement a bit later).
2010-03-30 14:33:05 +00:00
1902de715f Attempted fixes for color picker trouble (can't reproduce here..) 2010-03-30 12:43:39 +00:00
515592438f Baking for dupligroup & linked library objects
- library data allows pointcache writing (hard to know how this should work long term so ifdef'd for now)
- changing the frame now updates the dupligroup objects
- BKE_ptcache_ids_from_object(), option to get the id's from duplis

note! scene_update_tagged() is called from the main() loop, and runs BKE_ptcache_quick_cache_all(), this could become a performance issue, especially with duplis, should probably not call BKE_ptcache_quick_cache_all() all the time, even when not playing back animation.
(commits 27856 by Campbell from render25 branch)
2010-03-30 12:23:13 +00:00
71446eea57 * Multiply for panorama cameras
* Some cases of struct name being set where it shouldnt have been.
* Spelling: wich --> which
* Copy and initialize uv modifier scale, remove unneeded enum.
* Ability to pin any object into the context.
* Update uv window while transforming (useful when used with UVProject modifier)
* Patch by Wahooney, so new template's are internal text and dont get saved over
  by mistake.
* Fix for https://bugzilla.redhat.com/show_bug.cgi?id=572186
  Bug 572186 - [abrt] crash in blender-2.49b-5.fc12: Process
  /usr/bin/blender.bin was killed by signal 6 (SIGABRT). Original fix submitted
  by Jochen Schmitt.
* [#21816] bpy.data.add_image has stopped working on Windows. moved to
  bpy.data.images.load(), missed this call.

(commits 27726,27825,27828,27831,27832,27833,27834,27836,27837,27838,27839,27858 by Campbell from render25 branch)
2010-03-30 12:15:16 +00:00
253de0ed86 * Assign weight from bones in weight paint mode now respects paint face
mask, also avoid making vertex groups if they will not be filled.
* Add back image pin option in image editor header.
* Fix deep shadow not respecting Cast Buffer Shadows option.
* Tangent space normal map baking should work again now.
* Fix a problem with particle duplis, due to own bugfix for #20350,
  the problem for that seems to be in dupliverts, not particles.
* Fix external multires data link getting lost on exiting editmode.

(commits 27776,27777,27830,27840,27841,27862 by Brecht from render25 branch)
2010-03-30 12:01:17 +00:00
052cb2afd2 Rest shape key for cloth option, this makes it possible
to specify different spring lengths.

Implementation is quite ugly because the shape key has to be pulled
through the modifier stack somehow, need a more flexible data mask
system to solve this properly.

(commits 27773,27775,27778 by Brecht from render25 branch)
2010-03-30 11:49:07 +00:00
19fb497d13 Fix a few warning in editors/ module. 2010-03-30 11:38:06 +00:00
ccdd490957 Bugfix for [#21582] Adjusting material color (color picker) crashes
This fixes only the crash, which was due to buffer overrun for col Hex char buffer. It doesn't actually fix the real issue of overflowing the color values up to infinity.
2010-03-30 10:13:55 +00:00
bdea39c809 Fix #21827: Outer portions of extruded 2D curves do not render correctly
DispList->rt is used by render stuff to set vlak flags. This rt field is setting
to nurbs's flags in displist creation function. Possible flags for nurbs are
CU_SMOOTH and CU_2D. CU_SMOOTH is ok, but CU_2D conflicts with R_NOPUNOFLIP.

I cleared rt's CU_2D flag. Don't forget about possible conflicts if new
nurbs flags will be added.
2010-03-30 09:57:58 +00:00
c36e00cd52 Performance tweak - on region pan/scale, only redraw the region itself
instead of the entire area (eg. so panning tool shelf doesn't lag when 3d view 
redrawing is slow).
2010-03-30 07:57:07 +00:00
Dalai Felinto
77f55d9cb3 BGE API DOC: a guide on how to build epydoc for windows
We have already a .sh file to build epydocs from Linux, so why not to have it in Windows as well ;) I think that this guide can help people interested in help with the API documentation to test their work.

I'm actually already in touch with at least one volunteer helping with PhysicsConstraints module. VideoTexture may not be a one man job though, for I hope this document can also help.
2010-03-30 06:37:44 +00:00
b09ee4923d Fix [#21711] Position of 2d cursor is not displayed correctly and cannot be set
in uv/image editor properties panel

Note: Moved UV editor 2d cursor to SpaceImage rather than View2d, so it's 
more accessible to RNA.
2010-03-30 05:52:05 +00:00
Dalai Felinto
5089663962 BGE PyDoc: fix for KX_Object not linked to the class in some actuators API page 2010-03-30 04:59:24 +00:00
1f8cd57073 Fix [#20115] Some theme settings are not saved
Theme colours were getting overwritten on startup with defaults (as in 2.4 
system). Changed this to allow changing the default theme, and added a 
'Reset to defaults' operator in user prefs. Perhaps next step to look into the 
py presets system for themes too (nice and easy to share).

If you're using a custom B.blend you may get some strange theme colours on 
startup if they weren't saved properly before. 'Reset to default' button in theme 
preferences should fix it back to defaults.
2010-03-30 04:27:13 +00:00
f20427ffbe Fix [#21814] 3D Curves and Caps Confusion
Stopped curves 'caps' properties from being greyed out when the curve is 3D - 
there's the totally obscure feature where turning off 'Front' and 'Back' turns the 
3D curve into a tube.

Would really like this feature to be implemented in a less bizarre way, but 
for now it should be enabled in the UI at least.
2010-03-30 00:57:54 +00:00
5497c2004c Mirror clipping for curves and surfaces. 2010-03-29 09:29:50 +00:00
9a99b7d193 Fix [#21083] Collada exporter defaults to ".blend" extension...
Also added a filter category for COLLADA files to the file selector.
2010-03-29 08:33:35 +00:00
97e1c0289d Added splash screen item in the Help menu. Not sure why it wasn't there in the first place? It's used to get the revision number and if the intention was to add a more adequate "About" window it can be replaced later. 2010-03-29 08:27:04 +00:00
227baee3d4 Tweak to set default ui range for color/color_gamma properties 2010-03-29 07:15:51 +00:00
f4dcd1d570 Fix [#21706] edit field in nodegroup which overlaps a node, edits the field of the overlapped node 2010-03-29 07:15:12 +00:00
86b30beb45 Fix [#21542] Clear origin shortkey Alt+O in object mode doesn't work 2010-03-29 07:07:20 +00:00
bd7ed4f077 Fix [#21708] Copy/Paste Texture channels for Lamps/World not working 2010-03-29 05:37:34 +00:00
a59d24fd94 Fix [#21679] add_grid "operator's subdivison" Change Dimensions 2010-03-29 05:00:04 +00:00
d3300ad590 * Update histogram on frame change and image swap 2010-03-28 23:30:00 +00:00
Dalai Felinto
33ee3fc6fe CMake fix for GCC 4.4.1 crash (on ubuntu 9.10 ) reported (on IRC) and fixed by Elia Sarti (vekoon)
(it was broken since rev. 27257.)
2010-03-28 21:38:22 +00:00
c09476bfee [#21807] Import Key Configuration problems
For some reason, __import__ doesn't recognize the cfg folder as part of the part.

Using exec("import " ... fixes that, but should be investigated further.
2010-03-28 21:10:48 +00:00
03c81862c4 BGE patch [#21019]: Python function for Scene suspend/resume. 2010-03-28 20:50:20 +00:00
c4f0a07267 Netrender: Fix for API changes (it would be nice if people at least fixed built-in script when breaking things)
Also force post process off. 

This is a partial fix for Bug [#21410], there is still the problem that loading back multilayer exr as render results doesn't load the composited result correctly (bug is assigned to Brecht). The results are still ok when downloaded outside of the render engine, so there's a work around for now.
2010-03-28 20:46:25 +00:00
41425c1aa4 VideoTexture: more PyDoc. 2010-03-28 20:15:45 +00:00
9792d39ab4 VideoTexture: clean previous commit. 2010-03-28 20:12:28 +00:00
982886d34e BGE: repair armature animation. Was broken since commit 27766. 2010-03-28 20:08:16 +00:00
dc4ac8a263 Fix [#21689] for coordinate issue (y flipped) when setting mouse cursor position
Mem leak when using BGE fixed too.
2010-03-28 19:42:08 +00:00
751a9975e4 [#21802] UVProject Modifier Crash
fix for bug in recent addition of panorama support
2010-03-28 18:41:49 +00:00
a99d584008 VideoTexture: fix video capture lagging when CPU is busy. This problem was caused by special frame handling that was appropriate for video streaming but not for video capture: drift compensation and no frame skipping. Disable that for video capture to take into account the realtime nature of video. 2010-03-28 17:50:45 +00:00
8ba96eb1ae Change \n to more strict \r\n in HTTP headers (plus misc cleanups).
Reported by Ralph Giles via bug 21797.
2010-03-28 17:01:46 +00:00
55f45810e6 Compile fix for scons:
Missing pthread include for recent image_draw.c commit. (27799)
2010-03-28 15:00:43 +00:00
0eaa89971f External render engines now have option bl_postprocess to determine
if compositing, sequencer, fields, etc should be rendered, or if the
render does that itself. The weak point is that this only applies to
rendering, so if you open the compositor, it will still run on the
rendered result. Enabled by default, set to False to disable.
2010-03-28 14:45:09 +00:00
d010dae91b [#21767] Project Vert. on the Surf. of Other Obj. enabled causes crash when trying to Crease some edges
Don't want to project for Crease (and others).
2010-03-28 13:59:33 +00:00
7aab31430f External render engines can now render previews as well, disabled by
default, set RenderEngine property bl_preview = True to enable it.
2010-03-28 13:48:11 +00:00
46895ab1f2 Attempt to fix #21796: render crash on windows after slots commit. 2010-03-28 13:45:19 +00:00
95d1d82313 Bugfix for [#21798] Submit description doesn't work. 2010-03-28 10:52:24 +00:00
Dalai Felinto
822dcc48cd bgl/BGE: glCopyTexImage2D + bgl.buffer creation error more verbose + dome post_draw (it draw only for the last overlayed scene)
1) glCopyTexImage2D - www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage2D.xml

2) dome post_draw. Now dome mode can also use scene.post_draw. It only runs for the last scene. It's really useful. I'm working on a nice showcase for this (a dome visualizer for the dome mode running with bgl. In the mean time this is a (lame) example of both working together (the buffer is being copied and draw on top of the window):
http://blenderecia.orgfree.com/blender/tmp/dome_bgl_copytex2d.jpg
2010-03-28 10:20:26 +00:00
ddbb2bdaa5 Fix for a possible deadlock with render result drawing. 2010-03-27 22:48:18 +00:00
34cc878153 fix for writing out of buffer bounds when drawing to a buffer (most obvious with new grid type but could probably crash with stamp render option too) 2010-03-27 22:23:23 +00:00
319a7afa08 fix bad level call so blendplayer builds 2010-03-27 18:08:57 +00:00
57101c4fd2 Second attempt at committing the different render slot implementation. This
has a fix that hopefully solves the problem on mac/win. Also fixes #21322,
render slots not working well with FSA.
2010-03-27 15:35:34 +00:00
17777e7cd1 Fix #21561: .ply exporter doesn't export normals. 2010-03-27 14:54:22 +00:00
6188a28e75 The version in this file was not updated to alpha2, resulted in alpha1
still showing up in e.g. the Mac about dialog.
2010-03-27 14:38:46 +00:00
119bd10d95 Fix #21543: running python script from command line would lose active
scene from context for background render. Ideally this should not be
using the context to get the scene but currently the active scene is
not stored anywhere, as it's a concept we tried to get rid of.. just
did a simple fix for now.
2010-03-27 12:42:01 +00:00
865ceab545 Fix #20717: sculpt not working with ortho view + certain object scale. 2010-03-27 12:35:14 +00:00
59d76439be Fix #21700: particles do not collide with linked objects. 2010-03-27 12:16:24 +00:00
9cddf0c69a Fix [#21765] File-Dialog: "New Directory" gives no visual feedback
- was missing to clear the filelist which was previously done in the notifier (removed from there with the new thumbnail job handling).
2010-03-27 12:14:51 +00:00
aa79b9f588 Fix #21792: changed subdivide operator properties order to reflect
the order in which smooth and fractal are applied.
2010-03-27 11:59:42 +00:00
998ca03989 Fix #21741: changing scenes didn't update layers in 3d view, patch by Elia Sarti. 2010-03-27 11:54:38 +00:00
3d5954604d Fix #20716: using wavefront .obj exporter multiple times could crash
because references to materials from previous exports were not cleared.
2010-03-27 11:20:27 +00:00
0decc7def5 MSVC 9 projectfiles
Updated RNA project to generate the files in the build directory rather than inside the source tree. This removes the need to manually deleting those files when building from the same tree with scons or cmake.
2010-03-27 10:48:49 +00:00
49271a2fea Fix #21667: smoke drawing crashes calling glTexImage3D on graphics card that do
not support it.
2010-03-27 10:48:01 +00:00
91d56f8a6d Check result of object_add_duplicate_internal() before using it.
This prevents segmentation fault when object in pose mode is duplicating.
2010-03-27 10:43:04 +00:00
a5197f4943 Fix for [#21773] Cast Modifier cant use empties as centers
Based on the assumption that requiring object targets to be OB_EMPTY makes any other object compatible as a target. If the assumption is wrong can be reverted. Only the Cast modifier uses this at the moment and to me it looks like Cast only uses object transform so should be fine.
2010-03-26 18:15:06 +00:00
0912d84f2a Fixed incorrect rendering result when bevel object has got modifiers
enabled only for realtime display or only for rendering
2010-03-26 15:06:30 +00:00
95c135f68c Buttons Window Notifier Listener:
* Update several Property Windows for Physic Modifiers in the Physic Tab.
* Update several Property Windows for ND_DRAW Notifier, used by Camera Data, Object Force, and general Object settings.
2010-03-26 14:16:35 +00:00
892f18e6ac * Single Column UI for Screw Modifier. 2010-03-26 13:47:16 +00:00
991f6f5998 - game engine checking for autoexec was using the wrong global flag.
- 'Trusted Source' option was being overwritten on read making it usless.
2010-03-26 11:35:57 +00:00
b1475ae2c6 Fix vertex paint not getting restored after exiting editmode,
and fix the opposite problem when going to object mode from the menu.
(commit 27747 by Brecht from render25 branch)
2010-03-26 11:05:22 +00:00
666cca69e9 Cloth simulation can now use a group to specify which objects
to collide with, in addition to the effectors group.
(commit 27746 by Brecht from render25 branch)
2010-03-26 10:52:55 +00:00
05b1f00858 fix rendering another scene from the compositor not working.
(commit 27745 by Brecht from render25 branch)
2010-03-26 10:41:48 +00:00
40e58c8509 Optimization for pose channel name lookups using a hash, makes
playback in one particular scene with 3 characters go from 10 to 13 fps.
(commit 27728 by Brecht from render25 branch)
2010-03-26 10:33:53 +00:00
6af1f96876 Fix [#21759] Toggle all layers doesn't work
Toggling all layers will revert back to the active layer.
2010-03-26 08:32:54 +00:00
Dalai Felinto
3925f58b6a BGE: fix for [#21180] - missing min and max values in the API + mode fix (interval wasn't working)
of course it wasn't only a matter of adding the properties in the api :)

The code of validValueForIntervalProperty and modeChange are the same BUT in the future they shouldn't be, for I think it's fine to keep them as separated functions.

Bonus fix: Also we are now checking if the new mode is interval and update the range expression.
2010-03-26 07:21:48 +00:00
ed035bca5a Fix [#20829] "Select Vertex Path" EDGE LENGTH not selecting the proper
vertices (as it did in 2.49b)

Removed popup and fixed code to actually use the operator properties.
2010-03-26 07:17:54 +00:00
38141895e9 Fix [#21745] file that opens in 2.4* crashes 2.5 while trying to open
Only convert old multires data to multires modifier if there are actually subdivisions stored.

Patch by Elia Sarti, thanks!
2010-03-26 06:10:21 +00:00
50a49f2e0a Fix [#21744] cannot open old file 1 1/2 year old with 2.49 and 2.5 v670
Works around a bizarre situation when an object is it's own parent.
Patch by Elia Sarti, thanks!
2010-03-26 05:55:55 +00:00
c60f291b64 #21728: Grease pencil at cursor gives wrong results when the object is not at location 0,0,0.
Removed some code that I never finished working on to try and make the sketches get added relative to the owner. Perhaps will come back to that someday, but maybe we can just do without.
2010-03-26 03:26:17 +00:00
386e97f73a Purging compiler warnings 2010-03-26 03:10:58 +00:00
3c872daa59 4 Devs in Agreement - End of the Road for Old Track
This commit removes the Old Track method (used to be found under Object -> Animation -> Track), with all existing instances of this being converted to Track To Constraints. In fact, while performing this removal, I found that this was supposed to have happened in version 2.27 already, but for some reason the options were left in, and this function managed to survive for a further decade.

I've left the tracking axes around still, since it seems some curve tools still use that. However, that usage should probably get faded out in future too?


Misc notes:
* Fixed compiling error with constaints from harkyman's Maintain Volume patch. 
* Subversion of 2.52 now bumped up to .2
2010-03-26 02:57:49 +00:00
fda6082c68 Fix for ben dansie, incorrect gamma with render baking.
Linear/gamma issues weren't really considered in baking yet.
2010-03-26 01:31:43 +00:00
fedabce47c Bugfix #21757: Crash when setting up cyclic tracking dependencies (with old tracking)
Note that users should not be doing this anyway (and to some degree, I wish that they have to learn this the hard way - i.e. a crash as was before) since it is always bound to cause troubles of various sorts.

Having said this, the old tracking code was previously crashing if this sort of setup was created since a stack overflow would happen while bouncing between each object being recursively recalculated. I've fixed this by commenting out that recursive recalculation (solving the cyclic problems for n >= 2, while n=1 should still be fine without this pre-depsgraph hack), and also removing such cyclic dependencies in the n=2 case. 

(PS: Perhaps this is just a good opportunity to just remove this old feature instead ;)
2010-03-26 01:11:03 +00:00
7a56ca7d6f Bugfix #21739: Extend in the NLA crashes (Ekey) 2010-03-26 00:25:14 +00:00
3ed81eeccf BGE: [#19836] Recursive Parenting in game crashes Blender. Added parenting loop detection. 2010-03-25 21:43:36 +00:00
aa3428e6ab Fix #21764: bezier curve render resolution slider min value 1
Render resolution set to 0 is correct in both of U and V cases
(if render resolution is set to 0 values from resolution_* will
be used while rendering)
2010-03-25 18:59:50 +00:00
66efe00d4d Fix #21761: Curve+"Fill deformed"+modifier ( not all)= not rendered
Incorrect displist base was passed to curve_to_filledpoly().
2010-03-25 18:41:57 +00:00
587a1f806c fix for incorrect args, before pyapi fixes these were ignored.
(commit 27723 by Campbell from render25 branch)
2010-03-25 13:53:24 +00:00
819bdb36c2 Bugfix #21738: Flatten keys doesn't work
Flatten handles option was an ugly mix of snap to nearest integer values and set the handles to have the same values as the key. Removed the nearest integer snapping from this, since it doesn't seem that useful in retrospect. It could be restored later if there's any demand for it.
2010-03-25 12:35:53 +00:00
535bce8cf1 Adding menu entries for the new hotkeys (change keying set) 2010-03-25 11:42:02 +00:00
b88278b62b More assorted Keying Sets changes for Cessen (mainly api stuff):
* Added operator (Ctrl Shift Alt I) to show menu for changing the active Keying Set in the 3D view (todo item from last commit)

* KeyingSetInfo (i.e. the Builtin Keying Set classes) can now be accessed from Keying Set instances with  ks.type_info
* Added ks.remove_all_paths() function to remove all the paths for a Keying Set. 

---

These two changes mean that builtin Keying Sets could be refreshed in response to context changes by doing:
<code>
ks = bpy.context.scene.active_keying_set
if ks.absolute==False and ks.type_info:
    ksi = ks.type_info

    # remove existing paths to fill with new
    ks.remove_all_paths()

    # check if Keying Set can be used in current context
    if ksi.poll(bpy.context):
        # call iterator() which calls generate() and re-populates paths list
        ksi.iterator(bpy.context, ks) 
</code>

And then, once this has been done, the paths that the Keying Set will operate on can be accessed as
<code>
paths = bpy.context.scene.active_keying_set.paths
</code>
2010-03-25 11:34:18 +00:00
57b2ea62ab Remove object type check in Cast Modifier deformation, was wrong now that Curves support modifiers.
Also fixes [#21742] Crashes when adding a Cast mod after a Screw mod on a Curve Object
2010-03-25 10:43:55 +00:00
2ae418e0a8 Fix compilation error in MinGW with my last commit. 2010-03-25 08:48:31 +00:00
33f880e866 Restored Fluid Sim baking
This commit restores fluid sim baking functionality in 2.5, it's been on the todo for
a while, and was previously almost completely non-functional. The old 
code was quite complicated and specific to the 2.4 animation system, so I've 
pretty much rewritten most of it.

This includes:
* Animated variables work again - just key them in the UI. Non-animateable values
should be already set non-animateable in RNA, hopefully I got them all.

Available are: Domain Gravity / Domain Viscosity / Object loc/rot/scale / 
Object initial velocity / Deforming meshes / Fluid control Attract strength / 
Fluid control Attract radius / Fluid control Velocity strength / 
Fluid control Velocity radius / Object Active status (checkbox next to fluid type)

The Domain time scale is still not yet implemented.

* Fluid sim now use global scene units data by default - when enabled, the 
scene's global gravity value is used and when units are set (metric/imperial)
the simulation real world size is taken from the object's actual measurements.

* The baking process is now done in the background, using the nifty threaded
Jobs system. It's non-blocking and your domain object will show the simulated
fluid as it becomes available for that frame.

A nice extra thing for the future would be to improve the visualisation of the 
object's state while baking, and also the jobs system/ui could do with some
touchups - currently it has to share a bit from the 'render' job, and appears as
'Render' in the header. Progress bars for jobs in the header would be great too.
2010-03-25 06:27:25 +00:00
5bcca8206e temporary comment out for matt_e 2010-03-25 00:46:08 +00:00
78e282fdf1 Patch from Francois Tarlier: extend colour balance node 'lift' value to 0.0-2.0 range
(default 1.0), like the other controls. Thanks!
2010-03-25 00:10:41 +00:00
f1cfb5f13c BGE: bug #21684 fixed: multiple material with static modifier now supported with display list. 2010-03-24 22:55:45 +00:00
d337448090 Fixed incorrect memcpy in subdivide operator. 2010-03-24 19:14:10 +00:00
cf07f4725b Fixed bug with incorrect cyclic beizer curve subdivision. 2010-03-24 19:04:32 +00:00
0c1828b229 MSVC 9 projectfiles
- small update
2010-03-24 19:04:17 +00:00
fdfb46337c - Use vector interpolation functions from math_vector module in
curve subdivision operator.
- Added function interp_v4_v4v4().
2010-03-24 17:52:51 +00:00
6ab34157fd hopefully fix reported problems with include remove r27712 2010-03-24 16:23:42 +00:00
8456995181 xaspect and yaspect were not working with uv project modifier & panorama, also removed some includes. 2010-03-24 16:20:13 +00:00
6f724c54bc replace exceptions with getattr() fallback 2010-03-24 15:17:11 +00:00
b84bc45c7f fix for keying set rna path attribute and object select menu incorrect args to UI func. 2010-03-24 15:08:15 +00:00
230a2e62f0 Keying Sets - PyAPI consistency issues:
* Added 'id_name' property, which is used as the "typeinfo_name" by Keying Set instances. This is simply the name of the relevant KeyingSetInfo classes.

* Renamed the 'array_index' arg for ks.add_path() to 'index'. Also removed the 'entire array' toggle arg in favour of just passing -1 to index. However, Keying Sets in general still maintain their 'entire array' toggle flags for now, it's just that the API function does conversion between the two.
2010-03-24 12:48:03 +00:00
094098fa9d Added Set VIsibility (V key) to Graph Editor menu. 2010-03-24 12:39:51 +00:00
93c7b8a2d0 remove unused includes UI_*.h, WM_*.h, ED_*.h 2010-03-24 10:56:37 +00:00
26736ac0f0 remove unused rna includes 2010-03-24 09:51:32 +00:00
9bf3e20924 fix bad level calls 2010-03-24 03:48:25 +00:00
fffb9cb1a2 oops forgot this! 2010-03-23 23:36:24 +00:00
4532b0ba2a Fixed disappearing of NURBS surface when it's created from to joined nurbs curves. 2010-03-23 22:09:33 +00:00
e6986acaa3 Added "Number of cuts" property to the bpy.ops.curve.subdivide operator. 2010-03-23 22:09:23 +00:00
377f06082a enable compiling without python again 2010-03-23 21:37:02 +00:00
6956f6c1c5 fix: Curve point was added somewhere outside the universe
- MSVC needed location initialized to zero.
2010-03-23 20:41:19 +00:00
c76a069bd1 Panorama camera support for UV project modifier 2010-03-23 20:04:05 +00:00
169c4bf8a8 SVN maintenance. 2010-03-23 19:00:48 +00:00
411cc8e5b6 fix [#21666] selecting images in file browser before thumbnail is created deselects them when the thumb is created
- was overwriting the selection flag
- also fixed mismatching prototype (own eek!)

Also added small update of MSVC 9 projectfiles (blendkernel/image_gen.c)
2010-03-23 18:46:21 +00:00
737eee5d1b move uv project functions into their own files to be more re-usable. 2010-03-23 18:28:38 +00:00
e6aac03e7a Spacebar to confirm Fly Mode 2010-03-23 16:40:46 +00:00
e255cff1ca Mesh Edit mode keymap conflict: Shift F should be fly mode, remapped
Fill to Alt F and Beautity Fill to Shift Alt F

first commit from PrimateFX headquarters!
2010-03-23 16:17:48 +00:00
083b11f3c3 fix for mistake in own recent commit.
(commit 27690 by Campbell from render25 branch)
2010-03-23 16:17:27 +00:00
4b32c9065e fix for crash on loading some files with composite nodes.
(commit 27689 by Campbell from render25 branch)
2010-03-23 16:16:32 +00:00
9ca5243df8 workaround for compositor threading copying actions every time.
(commit 27684 by Campbell from render25 branch)
2010-03-23 15:34:07 +00:00
f46cccedf6 rna/py-api fix.
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.

next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 and 27683 by Campbell from render25 branch)
2010-03-23 15:31:12 +00:00
cb6d2685bd rna/py-api fix.
C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument.

next commit will make order of arguments consistant (currently only changed order that rna wrapped).
(commit 27674 by Campbell from render25 branch)
2010-03-23 15:25:33 +00:00
d87e7393e3 report an error parsing args, will try fix properly but this involves many changes so do this for now.
(commit 27671 by Campbell from render25 branch)
2010-03-23 15:21:08 +00:00
5bc2d53507 fix for parsing python args to rna functions, was using allocated size as argument count.
(commit 27670 by Campbell from render25 branch)
2010-03-23 15:04:06 +00:00
33e0ea0e59 py/rna functions for adding and removing curve data.
(commit 27666 by Campbell from render25 branch)
2010-03-23 14:58:36 +00:00
5fad6edcb0 getting an item from a collection wasnt being checked correctly.
(commit 27665 by Campbell from render25 branch)
2010-03-23 14:48:32 +00:00
69be3d45e8 bugfix for loading objects saved with the dupli pointer set.
(commit 27662 by Campbell from render25 branch)
2010-03-23 14:47:40 +00:00
f743b583bf more lint includes
Only source/blender/editors/ dir, should not give errors on different platforms
Only removing:  UI_*.h, ED_*.h, WM_*.h, DNA_*.h, IMB_*.h, RNA_*.h, PIL_*.h
2010-03-23 14:09:09 +00:00
4ae515a4e5 Keying Sets: BuiltIn vs Absolute Tweaks
This commit clarifies the somewhat "murky" separation between "builtin" and "absolute" KeyingSets as a result of discussions with Cessen.

* "Builtin" Keying Sets are now just the Keying Sets which in the past have been known as PyKeyingSets or Relative KeyingSets. These are registered from Py Scripts at startup, and will use the context info to determine what data they should be keyframing. These are stored per Blender session, independent of files, since usually these will be coded specific to sets of rigs used at a studio.

* "Absolute" Keying Sets are the ones that you can create from the Scene buttons and/or KKEY or RMB over any property. They specify the exact set of properties which should always get keyframed together. These are stored in the scene. 

In relation to this, I've made it possible to now set one of the builtin Keying Set types as the active Keying Set. 
* For now, this can only be done via the box beside the insert/delete key operator buttons on the TimeLine header (now complete with an recycled icon - HINT TO ICON DESIGNERS, to make this a bit more obvious). Later on I'll commit an operator to set this via a hotkey.
* The "IKEY" menu will only show up when there is no active Keying Set. When there is one, keying will happen silently (with info notice at the top of the screen). Later on, I'll hook this menu up to a hotkey, so that that active Keying Set can be changed without inserting keyframes or clearing active Keying Set...
* By default, there isn't any default Keying Set enabled. IMO, this is probably a good default, though some might like to have LocRotScale instead.
* I'm not terribly impressed with the search menu for the items being SORTED (and of all things, alphabetically!) currently, since this does break muscle-memory with the menu (and jumbles up order of closely related vs not closely related).
* The Scene buttons for KeyingSets still need some changes to fully cope with users setting builtin KeyingSets as active sometimes. Controls which are useless or shouldn't be used when a builtin set is shown are being shown.

Builtin set registrations have been tweaked a bit:
* Renamed "bl_idname" to "bl_label" for consistency with rest of API. Note that this is the identifier used by Blender internally when searching for the KeyingSet, and is also what the user sees.
2010-03-23 11:59:34 +00:00
d2225edfce Added a line sampler to the histogram panel in the image space.
Patch #21712 from Xavier Thomas.  
now updates in real time as you pull the line.
2010-03-23 01:22:33 +00:00
371732154b Fix for child drawing bug reported in the comments of [#21103] Updating bugs in Particle Mode 2010-03-22 19:38:40 +00:00
a2778a262b Fix #20548: flat shading not drawing right in sculpt mode. 2010-03-22 17:17:36 +00:00
867cad85b7 Fix for [#21103] Updating bugs in Particle Mode 2010-03-22 17:12:08 +00:00
113ea4368e Math Lib: make some more vector functions use const arguments. 2010-03-22 15:55:12 +00:00
30efa59b0d Fix node material properties not showing correct, the code here should not
be removed, because some panels use the parent materials while others use
the nested materials.
2010-03-22 15:50:16 +00:00
21174f28a9 Sculpt: fix memory leak with anchored stroke option. 2010-03-22 13:24:41 +00:00
a3ee78b885 Screw Modifier
flip the closing edge so when applied a second time it doesnt flip the closing ring of faces. (means you can make a torus from 1 vertex and 2 modifiers)
2010-03-22 12:09:39 +00:00
09b1c681e1 Sculpt Mode Bugfixes:
* #20833: layer brush doesn't work with multires.
* #20946: sculpt mode partially removes parts of the mesh in the viewport.
* #20420: grab brush stops after moving some distance.
* #20906: sculpt grab tool moves in wrong direction.
* #21132 and #21272: undo on object with subdivision surface modifier crashes.
* #21115: subsurf + multires + sculpting + undo causes crash.
* #20683: sculpt + multires apply + undo crash.
* #19094: wrong outline in solid mode.
2010-03-22 11:59:36 +00:00
1e9bf0cfdb spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text) 2010-03-22 09:30:00 +00:00
9b2dd9aac6 fixes for screw modifier
- steps for a closed screw was off  by 1
- screw offset wasnt being copied
2010-03-22 08:49:12 +00:00
fb9546746e Screw Modifier (old patch was called Lathe)
didnt commit this patch because curves are generally better to create a shape to lathe however now that curves can have modifiers applied to them I think its good to have this.

Added options to offset the lathe so it can work like the screw tool as well.

- optional object for axis which also controls the center point.
- screw offset so rather then just lathing this can work more like the screw tool.
- screw optionally using the object distance along the axis.
- iterations so the screw can be applied multiple times.

tested to work well with curves.
2010-03-22 00:22:52 +00:00
74b3336107 rotate_m4 was using degrees rather then radians. 2010-03-22 00:14:56 +00:00
4394217b96 when curves draw as derived meshes, check their face count rather then if the display list has faces. 2010-03-21 22:54:30 +00:00
44bfe1437a remove unused includes 2010-03-21 22:52:56 +00:00
df7b696b73 Big cleanup of particle system core, also some minor pointcache cleanup. Shouldn't contain any functional changes. 2010-03-21 20:36:06 +00:00
dd4a8bff51 take 2... 2010-03-21 15:59:08 +00:00
cc8f790199 recent removal of includes broke for msvc 2010-03-21 15:47:13 +00:00
f61b3ac81a Fix for sequencer adding scene strips of the same scene resulting in an endless recursion. 2010-03-21 15:40:36 +00:00
247b7249bd [#21682] help() doesn't work in the console
replace pydoc's pager function so the console's input isnt used.
2010-03-21 14:56:26 +00:00
49493dec55 2010-03-21 14:46:43 +00:00
546ca400d8 removed unused includes, except for physics and particle related files 2010-03-21 13:42:25 +00:00
f9c25a9928 remove includes that arnt needed 2010-03-21 13:07:31 +00:00
f9999f3445 [#21692] Blender Crashes upon trying to view UV Test Grid (r27639)
fix for mistake in own commit when moving grid color func into its own file.
2010-03-21 10:25:21 +00:00
42ac4a3e7d Fix syntax for ID keyword. 2010-03-21 01:14:04 +00:00
03acdd75e0 [#21660] improved UV test grid
from shuvro sarker (shuvro) 
Added text to the patch and made other minor tweaks.

moved image generation functions into their own file.
2010-03-21 00:25:52 +00:00
42a0ef4dcf OK, compiling doesn't mean it runs, now it should really be fixed, as I don't use NAN directly anymore. 2010-03-21 00:04:50 +00:00
d55cf90bb6 SVN maintenance. 2010-03-20 23:43:50 +00:00
b06cdb3dd7 Finally, this should really fix the msvc and old ubuntu compiler problems with NAN and finite. 2010-03-20 23:36:08 +00:00
ba2cfeefd0 drawing text in a byte buffer wasnt working (probably never tested since float buffer is used for rendering) 2010-03-20 23:31:48 +00:00
d904da1d03 Yet another try to get NaN working on MSVC. 2010-03-20 20:00:15 +00:00
b6a111a6db Hopefully another fix for MSVC... 2010-03-20 19:51:38 +00:00
be8c398191 - submit docs now uses the new dialog with an OK button
- submitting operator docs sent them twice.
2010-03-20 19:22:34 +00:00
07b547980d remove unused includes for blenlib, left ifdef's for non linux os's alone. 2010-03-20 18:52:03 +00:00
66ccd94e3f patch #21680 from Richard Olsson
wm.invoke_props_dialog()

This is so python scripts can have popups which do not redo all the time.
2010-03-20 18:03:59 +00:00
11b260ee06 warning fix 2010-03-20 16:56:52 +00:00
391cc2d004 merge own commits into render branch into trunk since 27560
27562, 27570, 27571, 27574, 27576, 27577, 27579, 27590, 27591, 27594, 27595, 27596, 27599, 27605, 27611, 27612, 27613, 27614, 27623
2010-03-20 16:41:01 +00:00
7178f10b81 Replacing NAN with C++ limits version, hope that works for MSVC... 2010-03-20 16:28:51 +00:00
08164794b2 Fix [#21658] file browser "hide invisible" doesn't hide anything
- moved global hide_dot to filelist.
- hiding dot files is now included in the filtering of files, which means that for this directory also doesn't have to be read anymore.
- reverted changes of rev. 27491 and related changes in rev. 27523 in favor of a more general abstraction for the different 'file browser modes' with respect to filtering.
2010-03-20 14:23:56 +00:00
ca3736c123 Fix for [#21639] Playback with AV-sync and None sound system. 2010-03-20 11:50:27 +00:00
1e2be7a8c6 "Fix" aka implementation of [#21548] Audio doesn't work when adding scenes with audio to another scene. 2010-03-20 11:15:16 +00:00
3dde2e224a Cocoa: fix some mem leaks appearing on 10.4 builds 2010-03-20 10:14:59 +00:00
504745c399 Operator name improvements in select menu 2010-03-20 05:14:22 +00:00
Dalai Felinto
15bd165ca0 BGE: bindId property in VideoTexture.Texture (to get the openGL id of the texture)
Now if you have a VideoTexture.Texture you can use its id and draw it with bgl
The Id is only going to be valid if the obj you are getting the VideoTexture.Texture from has a valid texture. In the examples you will see them as planes, that become invisible at load time, but are needed to validate the texture id.

This is a simple example file:
http://blenderecia.orgfree.com/blender/bind_id_simple.blend

And a (much) more advanced one:
http://blenderecia.orgfree.com/blender/bind_id.blend
(get also this image and save it to the same folder of your blend file - http://blenderecia.orgfree.com/blender/mask.png )

Benoit, I couldn't decide on better names so for now I'm glad with this one.
2010-03-20 00:11:25 +00:00
d50876f8d5 Adding Non Manifold to select menu in edit mode for vertex and/or edge
select mode
2010-03-19 06:57:55 +00:00
d89a8c34f3 More F-Modifier Tweaks:
This commit started out aiming to make the "Stepped" F-Modifier (committed last night) even more useful, but ended up fixing a few other finer-points of how F-Modifiers work.

Firstly, the new stuff:
I've addded options to the Stepped F-Modifier to not affect frames before and/or after specified values, and renamed the 'start offset' to 'offset' for clarity. 

The main objective of this is to allow Stepped F-Modifiers to only affect certain time ranges, so that by layering/using multiple instances of the F-Modifier, it can be possible to have multiple stepping-sizes.

This allows for effects like:
http://www.pasteall.org/blend/2230
or in words, it provides a convenient mechanism for animators to specify whether sections of the animation is shown "on twos", "fours", or even "forty-second-ths plus a smidgen", as can be easily done with 2D.

Assorted changes to support this:
* Properly fixed up how F-Modifiers that work with time, evaluate the time to evaluate the curve at. Now layered time effects like this should be possible in a much nicer way.

* Added proper value range validation/clamping to many properties. There are still a lot more that need checking, but at least more properties now do "the right thing".
2010-03-19 03:38:14 +00:00
5e7b1bde8d Hack to make people stop bugging me.
Working around a problem in a work around for holes in the operator API and event system.
2010-03-19 03:26:31 +00:00
cd9e6253c3 Missed a file - stepped F-Modifier should have its handles visible+editable to be useful 2010-03-18 13:05:42 +00:00
618b459e8b F-Modifier Goodies (as requested by @ndy):
* Copy/Paste operators for F-Modifiers
Available in Graph and NLA Editors. Use the Copy/Paste buttons beside the 'Add Modifier' buttons.

Copy copies all the modifiers of the ACTIVE F-Curve or Strip depending on the editor.
Paste pastes modifiers from the buffer to all the selected F-Curves or Strips, adding the new modifiers to the ends of each list.

* 'Stepped Interpolation' F-Modifier
This modifier holds each interpolated value from the F-Curve for several frames without changing the timing. 

This allows to preview motions 'on-twos' for example without altering the timing, or having to go through setting heaps of keyframes. In this case, Andy wanted to use this for CG <-> StopMo.
2010-03-18 13:04:46 +00:00
148985edf0 CMake: FFMPEG directory and libraries are now configurable. 2010-03-18 10:16:04 +00:00
9ebde542ec Bugfix: Autokeying was non-functional after the Keying Sets refactor
- The RNA wrapping for the generate callback was still wrong, with the primary effect being that C-code calling this had unexpected consequences that were hard to debug.
- Fixed some defective checks that meant that when specifying the RNA-pointers for the Keying Set to use (rather than using the Keying Set's own iterator callback) would never add any info.
2010-03-18 07:53:46 +00:00
3566400dc5 Removed the 'recover temp' option from the splash screen - the way the temp saving currently
works, it's mostly non-functional there (i.e. when you've just started the application).

It would be nice if blender could name the temp files in a special way so that it could actually
search through the temp folder and find the most recently saved temp file, but for now, I'll
just remove the option.
2010-03-18 07:05:20 +00:00
d96bf316ac Fix [#21657] Blender crashes after importing .obj and selecting a material
Creating an object via some pre-existing obdata via the py api wasn't properly initialising the 
object/mesh material link data.
2010-03-18 06:03:41 +00:00
6c6825b536 Fix [#21568] Scene Linking 2010-03-18 04:46:27 +00:00
35a5be71e7 Fix [#20908] Box Select On File/Append Selects Too Many Files 2010-03-18 04:09:59 +00:00
25ea2fafdd Fix [#21651] After Fix # 21114 Adding mesh in local at cursor position doesn't work
Silly bug from yesterday..
2010-03-18 01:26:56 +00:00
Dalai Felinto
ab739dd456 BGE: blenderplayer building again.
*side note: Quadbuffer seems to be partially working in Blender 2.5 (it's 100% in 2.49). I'll try to take a look at that later.
2010-03-18 00:36:20 +00:00
045d33dae0 Fixed a crash switching to brush texture nodes
Also removed some python code to check for node materials within the material and texture properties. It seems to go fine without it, and this should be handled by context instead.
2010-03-17 22:54:55 +00:00
634b750cbb Sound bugfixes:
* sound file path was not displayed in sequencer panel.
* sound strip with relative paths would stop working after undo.
(commit 27575 by Brecht from render25 branch)
2010-03-17 21:38:53 +00:00
29a83cbfa7 Fix render info text not showing up in image editor while building
render database, due to threading fix.
2010-03-17 21:33:28 +00:00
be3d5f9d5d PyKeyingSet Bugfixes:
* With multiple objects selected, only one of the objects got keyframed. The code which was checking for duplicate paths was wrongly assuming to ignore the ID-block used still.

* Not registering a Keying Set as 'builtin' would crash on startup. I've made all Keying Sets fallback to adding as if they were local for now, but a better solution is coming soon.

* Fixed a typo in RNA function wrappers for the generator callback, since it was looking for the iterator only. This doesn't seem to have caused any problems (thankfully).
2010-03-17 11:34:27 +00:00
1d4b932145 Fix [#21553] Re-Projection just opening the image editor but not the image.
Campbell please check/beautify if you like, but it works properly on OS X, either
opening Preview with the 'open' command or Photoshop, when the path is set 
in user preferences.
2010-03-17 03:07:37 +00:00
504a7e9d3f Fix [#21285] Assigning an Edge Rotate (clockwise) shortcut also deletes affected faces when used 2010-03-17 01:56:41 +00:00
3c09e763c1 Fix [#21329] Extrude of single vertex constrained 2010-03-17 00:54:34 +00:00
724418f33a Fix [#21114] Graphical cursor displayed in wrong position when switching to local ortho. 2010-03-17 00:05:40 +00:00
b3e48fed5d Fix: Incorrect alpha values were displayed when sampling a float image in the image editor,
reported in IRC by kahr-alpha
2010-03-16 22:19:43 +00:00
14e29a62dc "Fill deformed" option for 2D curves
Add new option named "Fill deformed". If this option is switched on.
2D curve will be first deformed by modifiers and only then be filled
with faces.
2010-03-16 21:09:53 +00:00
8ac0359852 Fix [#21634] GHOST_WindowCocoa: activeWindow null pointer check 2010-03-16 20:42:12 +00:00
bcca4e6843 Daniel Lara pointed out that adding a Maintain Volume constraint via 3D view hotkey automatically added an Empty for Target. This should not have been. 2010-03-16 18:34:30 +00:00
4a2efe0822 no need to include the setting names in enum items
(commit 27539 by Campbell from render25 branch)
2010-03-16 18:22:55 +00:00
391526c20e option to lock alpha while projection painting.
(commit 27538 by Campbell from render25 branch)
2010-03-16 18:05:53 +00:00
abb7a25426 transform marker sync for extend and grab is back.
(commit 27537 by Campbell from render25 branch)
2010-03-16 18:01:22 +00:00
2b34078fb2 the string 'Environment' is too long for a pass name, was causing crashes in FSA. use Env instead.
(commit 27536 by Campbell from render25 branch)
2010-03-16 18:00:45 +00:00
47a0967a30 no need to set flat shading for faces manually
(commit 27534 by Campbell from render25 branch)
2010-03-16 17:59:39 +00:00
93915e9438 adding faces was setting the wrong flag, smooth rather then selected.
(commit 27533 by Campbell from render25 branch)
2010-03-16 17:59:11 +00:00
7c49cf2be9 Wkey in uv editor brings up weld/align menu rather then welding.
(commit 27513 by Campbell from render25 branch)
2010-03-16 17:58:44 +00:00
243314ac19 implify skipping quad->tri was being done even when the main simplify option was disabled.
(commit 27512 by Campbell from render25 branch)
2010-03-16 17:58:13 +00:00
d0c10cd060 draw option to only display what is rendered, used for sequencer, opengl drawing by default. since we use preview renders a lot the empties & armatures can get in the way also.
(commit 27511 by Campbell from render25 branch)
2010-03-16 17:49:31 +00:00
ecb35d463b made re-project UI less confusing
(commit 27457 by Campbell from render25 branch)
2010-03-16 17:45:01 +00:00
056972a97f minor changes to rna names for consistancy
(commit 27445 by Campbell from render25 branch)
2010-03-16 17:42:58 +00:00
5c9c50e13b change the scene opengl sequence rendering to be a global option with rendering and scrubbing settings.
still need to do a do_versions for this to work right without changing settings.
(commit 27442 by Campbell from render25 branch)
2010-03-16 17:37:34 +00:00
f12ef12021 error in recent commit.
(commit 27437 by Campbell from render25 branch)
2010-03-16 17:24:13 +00:00
74fc6a07c0 library data selector, respect hide dot data, unless the user enters a '.'
(commit 27435 by Campbell from render25 branch)
2010-03-16 17:23:51 +00:00
63a368ceaa - menu for selecting add scenes for the sequencer.
- update internal 'btempdir' from userprefs on changing and initializing the temp dir.
- add sequence strip operators nolonger require the sequence view to be active (better for automation).
(commit 27434 by Campbell from render25 branch)
2010-03-16 17:23:20 +00:00
9a986d194c fix for nasty bug where registering properties would register them in the parent classes SRNA, made for confusing rigify args turning up in add sequencer adding collection.
(commit 27433 by Campbell from render25 branch)
2010-03-16 17:20:15 +00:00
46ed51ce26 made argument conversion for much more verbose, wasnt giving enough info with bad operator args.
(commit 27432 by Campbell from render25 branch)
2010-03-16 17:19:42 +00:00
f17dcf58c8 Fixes for thread related render / compositing crashes:
* Viewer node could free image while it is being redrawn, viewer image
  buffers now need acquire/release to be accessed as was already the
  case for render results.
* The Composite node could free the image buffers outside of a lock,
  also causing simultaneous redraw to crash.
* Especially on Windows, re-rendering could crash when drawing an image
  that was freed. When RE_RenderInProgress was true it would access the
  image buffer and simply return it while it could still contain a pointer
  to a render result buffer that was already freed. I don't understand
  why this case was there in the first place, so I've removed it.

Possibly fixes bugs #20174, #21418, #21391, #21394.
2010-03-16 16:58:45 +00:00
735b444d74 Fix this error when building with collada: http://www.pasteall.org/11757 2010-03-16 16:15:30 +00:00
d617294c49 New "Maintain Volume" constraint. When attached to a bone, you specify a "free" axis. Upon scaling, this free axis scales normally, but the constraint forces the other two axes to adjust themselves appropriately so that overall bone volume is maintained. So, setting "Y" as the free axis (the default) creates a bone that automatically squashes and stretches when scaling. Thanks to Aligorith, Fweeb, Cessen and others for the feedback. 2010-03-16 12:55:56 +00:00
1cf95d2494 Keying Set Fixes:
* 'Export Keying Set' operator works again - a change in the previous commit broke the created code
* Relative Keying Sets don't get their paths shown 
* Keying Set paths show options for inserting keyframes too now

---

Another attempt at fixing compile troubles, and removed some commented out + obsolete stuff.
2010-03-16 10:18:19 +00:00
f1c049137e Fixing compiler errors for those people who compile those c++ modules... bleh! 2010-03-16 08:07:43 +00:00
ca8f5cef79 Fix [#21250] Auto Refresh Movies on UV/Image editor doesn't work 2010-03-16 08:06:50 +00:00
dc5945e7f0 Fix [#21165] Moved textures don't move the animation curves 2010-03-16 07:44:57 +00:00
ea4a987fd4 == Massive Keying Sets Recode ==
After a few days of wrong turns and learning the finer points of RNA-type-subclassing the hard way, this commit finally presents a refactored version of the Keying Sets system (now version 2) based on some requirements from Cessen.

For a more thorough discussion of this commit, see 
http://sites.google.com/site/aligorith/keyingsets_2.pdf?attredirects=0&d=1

------

The main highlight of this refactor is that relative Keying Sets have now been recoded so that Python callbacks are run to generate the Keying Set's list of paths everytime the Keying Set is used (to insert or delete keyframes), allowing complex heuristics to be used to determine whether a property gets keyframed based on the current context. These checks may include checking on selection status of related entities, or transform locks.

Built-In KeyingSets have also been recoded, and moved from C and out into Python. These are now coded as Relative Keying Sets, and can to some extent serve as basis for adding new relative Keying Sets. However, these have mostly been coded in a slightly 'modular' way which may be confusing for those not so familiar with Python in general. A usable template will be added soon for more general usage.

Keyframing settings (i.e. 'visual', 'needed') can now be specified on a per-path basis now, which is especially useful for Absolute Keying Sets, where control over this is often beneficial.

Most of the places where Auto-Keyframing is performed have been tidied up for consistency. I'm sure quite a few issues still exist there, but these I'll clean up over the next few days.
2010-03-16 06:18:49 +00:00
604a2b1a18 Play Back Rendered Animation operator was left out of Screen->Render operator name change 2010-03-16 05:04:56 +00:00
ebd63787e6 added different sampling methods in rotate node
fixed bug in difference matte node that prevented using a solid color for second input
	-also clairified some variable names to be more meaningful
2010-03-15 22:36:39 +00:00
c12cfa3775 Fix [#20419] OSX Cocoa physical punctuation keys retrieval fix
Cocoa charactersIgnoringModifiers API still takes the Shift key into account. Fix is to use Apple new 10.5 Carbon(!) API that is 64bit compatible to take into account the international keyboard layout when retrieving the physical key pressed/released.
Needed to use an even older API for 10.4 builds.
2010-03-15 20:38:04 +00:00
8fdb4d4506 Fix [#21618] Wrong Icon For BLEND file on File/Append
While the folder icon was originally planned when in append/link mode, it's easier to distinguish with a blender icon, so the folder icon is now replaced.

Also fixed issue introduced in rev. 27491 where filter settings were incorrectly set when moving out of .blend file again.
2010-03-15 20:28:13 +00:00
ae6ee27d37 Fix #21619 and #21613: edge loop delete crashes, after recent transform
manipulator ctrl+click increment fix.
2010-03-15 20:22:05 +00:00
e7fad67fab Compile fix for MSVC
- missing #define for finite and isnan
2010-03-15 18:52:22 +00:00
3f8628ac74 fixing bad level call 2010-03-15 15:36:16 +00:00
1ded5b37b7 Patch #21569 to fix bug #21530: on X11, middle mouse button drag cancelled
when moving wheel (with horizontal scrolling), was sending middle mouse
event in cases where it should not. Patch by Anthony Edlin, thanks!
2010-03-15 10:25:07 +00:00
e381395522 Fix [#21288] Colour Ramp doesn't update output
Moved color ramp RNA to rna_color.c, was very texture-centric before.
2010-03-15 04:54:31 +00:00
72cc38e05d Make Hex field in colour picker work in gamma corrected space - means that copying Hex values to
and from other apps like Photoshop works as expected.
2010-03-15 02:30:53 +00:00
352754d355 Fix [#21603] Mip-mapping setting not saved in User preferences 2010-03-15 01:12:41 +00:00
c63648abc5 Added curve Radius to properties panel in edit mode.
Related to bug [#21606] setting a Curve Radius doesn't take in account already set Values
2010-03-15 00:34:02 +00:00
f8a4683b72 pep8 warnings 2010-03-14 23:26:17 +00:00
f3001c98a0 more addon UI cleanup 2010-03-14 23:19:44 +00:00
0c11035854 [#21504] Projection Clone Paint broken
own error when adding re-project, broke cloning between 2 UV layers
2010-03-14 22:43:44 +00:00
64078786cc Fix #20486: blender hangs upon import attempt of an .obj with >40k polys.
Added automatic generation of lookup_int callbacks for collections, for
quicker lookup by index instead of looping over the whole thing. Import
is still quite slow, though now it only takes a few seconds.

The next bottleneck seems to be running update (depsgraph, notifiers, ..)
on setting every property. I fixed part of that by avoiding a notifier
to be added each time, now it checks for duplicates.
2010-03-14 22:30:57 +00:00
14c2fc3c12 Various warning fixes. 2010-03-14 21:25:01 +00:00
9385c46581 soft bodies kind of bug fixing:
After watching 2.5 from a distance,
i did review the soft body module
to match in 2.5 every thing can be animated rule.
Until now i did not realize, that, by default, every property 
is 'fcurve'-able unless told to be not.
I really like it that way.
However SB code did assume some things not to be
changing after birth of the SB object.  
After spending some hours with softbody.c 
/* as may be read in its history */
I think most of the SB properties are ready to go.
For those that do not, some of them never will,
i did reset the flag in the RNA definitions.

There is one not completely resolved:
bending stiffness 
which will work if the initial value was non zero,
because only in this case the secondary set of springs
needed is built at all.     

Duh, and there a zillions of cases to test ..
please do so.
2010-03-14 21:15:22 +00:00
5576b3aabf disallow 'nan' for button input and pydriver's 2010-03-14 21:04:02 +00:00
ed076d74ef Rendering from 3d view in local view or with unlocked layer was not
working yet, now layer is passed along to render engine, changes quite
a few files because simple swapping trick no longer works with threading.
2010-03-14 20:24:11 +00:00
114f437837 Fix crash reading files with animated particle properties. 2010-03-14 20:18:15 +00:00
149fe90a08 cleanup for addon python internals, fix filtering bug. 2010-03-14 20:07:15 +00:00
cbe776655a transform: Ctrl-Click on manipulators uses increments correctly. 2010-03-14 19:38:36 +00:00
9b660f3425 [#21523] Drag Immediately only working when "Select With" is set to LMB
Partial fix. Check lauch event if left or right mouse.

Also added a bug fix for manipulator (sometimes, type = 0)
2010-03-14 18:58:14 +00:00
7ecba90f65 Remove SAT texture filter. It's not working, thought it was but that's
because the mipmap was not being refreshed. Also this will be problematic
to support when I add tile/mipmap cache, so would not rather not try to.
Can be added back afterwards if someone wants to make it work.
2010-03-14 18:22:04 +00:00
d8d92b5d93 user preference to disable the splash screen 2010-03-14 18:08:12 +00:00
a892bd6976 fix for bugreport:
#21506 'sort by' while in append/link file browser causes files to disappear

- issue was that the objects were still filtered
- temporary fix until refactoring of the append/link integration
2010-03-14 18:02:18 +00:00
07d4307af2 attempt to fix build error on msvc 2010-03-14 17:54:08 +00:00
891301c3a2 Addons:
Some code changes:

* Every Add-On now needs a dictionary with several infos, which are then displayed in the Blender UI and/or are used internally. 

Example:
bl_addon_info = {'name': 'Measure panel',
                'author': 'Buerbaum Martin (Pontiac)',
                'version': '0.6.3',
                'blender': '2.5.2',
                'location': 'View3D > Properties > Measure',
                'url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/Panel_Measure',
                'category' : 'UI'}

Unfinished/Not working yet
* The 'blender' tag is compared with the internal version number, it raises an error if the add-on was written for a newer Blender version. 
* The 'category' tag will be added to the filter, so the add-ons can be searched/filtered.
2010-03-14 17:32:35 +00:00
e3c746659e strip quites off buildinfo at startup (was doing this for splash screen and python api) 2010-03-14 17:18:36 +00:00
128ecc7e82 == Sequencer ==
This fixes [#21087] Opacity of 0 turns off effect rather than affecting transparency
and makes the whole early_out-business in strip stack a lot more readable.

The actual fix is just using the composited result in layer fall through
case (se1->ibuf_comp instead of se1->ibuf).
2010-03-14 16:36:41 +00:00
6cac9188b3 remove unused includes 2010-03-14 16:27:07 +00:00
431db9d478 remove unused includes 2010-03-14 16:06:43 +00:00
b2fba2eebe Fix #21171: ztransp render aliasing problem. 2010-03-14 14:26:46 +00:00
b89428ec4d Fixing a part of [#21516]. Curve preset menu doesn't appear to be a menu.
Converted to Operator Buttons. Fits well into the toolbar, lets hope, we won't get more presets. ;)
2010-03-14 13:07:13 +00:00
ac76568e67 Fixed incorrect calculation of constructive modifiers when rendering.
DerivedMesh was crating from object's disp instead of specified one.
2010-03-14 13:05:42 +00:00
004925c0f1 Fix #21572: command line render start frame can't be < 1. I've set it
to use MINFRAME now which is 0, negative frames are not supported for
this yet.
2010-03-14 12:49:55 +00:00
827938d085 Bugfix for [#21602] "C" Hotkey conflict when editing curve.
Remapped "Cyclic Toggle" to ALT+C.
2010-03-14 12:35:15 +00:00
bd34be86bf Bugfix for [#21560] space bar in edit mode of bezier curves doesnt work
The wrong flag was used, OB_CURVE instead of OB_FONT.
2010-03-14 12:12:48 +00:00
94d06bf3d4 Fix #21594: converting bevel objects to mesh stops displaying them in spacial cases
Mesh's boundbox should be re-calculated after curve->mesh conversion.
To avoid troubles with displaying texture space i've used
tex_space_mesh() for this.
2010-03-14 12:12:21 +00:00
15f0907563 PyAPI Bugfix - Fix for crash on struct.path_to_id() 2010-03-14 11:44:24 +00:00
7da0c4c699 Fix #21599: Duplicating an object with solidify doesnt copy the flags correctly
Someone forgot to copy solidify modifier's flag.
2010-03-14 08:15:20 +00:00
5cf623934f Bugfix #21565: Scale keys from DopeSheet transform menu causes crash
The operators in this menu were using the wrong operators!
2010-03-14 03:05:30 +00:00
ed930c4818 enable basic soft body object options for
soft body aware objects as there are lattices and curves
since this is foreign terrain for me .. please check
2010-03-13 22:53:03 +00:00
c56f04d349 soft body property nodemass became 'hot' for meshes
could not test for lattices and curves since parts of the UI 
is missing
will try to fix this next .. hurms not knowing what i am
doing there
2010-03-13 21:22:56 +00:00
eea9453470 softbody properties mingoal maxgoal are 'hot' now
for meshes lattices and curves
changes work immediately in the running simulation
2010-03-13 19:12:54 +00:00
dfb59dbaa5 added method to change algorithm used in channel matte node. Limit a channel by another channel or limit by max of remaining channels. 2010-03-13 14:47:26 +00:00
975cf38d6a Fix #21282: Segfault when using "Text on curve" option
Ignore textoncurve property if it's type isn't OB_CURVE, since
only curves could have a path.
2010-03-13 11:22:39 +00:00
8cae162245 [#21580] -- argument tries to load as a blend file
Stop processing arguments on --
2010-03-13 04:51:24 +00:00
9439c0b1cb getting close to 2.5 'everything can be animated paradigm'
well meshes do .. I've not been looking a the tail yet. 
softbody.c
2010-03-13 02:43:25 +00:00
ee35677729 Respect "divisible by 8" padding. 2010-03-13 02:35:32 +00:00
d8d844091a Add-Ons:
*Added location value (for infos like "View3D > Properties > Measure")
2010-03-13 00:44:09 +00:00
25a14bad61 Fix [#21351] PROPERTIES: Resolution changes based solely on changing
encoding format

Bypassed existing hardcoded ffmpeg presets that executed when changing
format, replaced with bpy presets.

Leaving old code there for now, haven't got python/rna access to the ffmpeg
id properties.. Anyone know how to do this? 
Code snippets here: http://www.pasteall.org/11657/c
2010-03-13 00:17:52 +00:00
a4de5e06af Patch [#21539] Improved organization of add-ons panel by Bart Crouch (crouch), with some UI code cleanup by myself.
This patch adds following features:
- Filter Add-ons by a category.
- Search Add-ons by Name and Author.
- Possibility to expand an Add-on, displaying more information like author, version, description, etc.
- Warns when a user wants to enable a script that was written for a newer version of blender
2010-03-13 00:14:36 +00:00
843a932b4a confirmed with multiple people that Collada builds fine with mingw win32 on scons. So setting it back to true by default. 2010-03-12 20:08:13 +00:00
85066b5e05 updated despill node to incorperate changes from Xavier Thomas's patch #18012 2010-03-12 18:47:35 +00:00
0249d26ca7 Fix #21042: sculpt not working from orthographic camera view. 2010-03-12 17:12:04 +00:00
8c9577e2ee Fix #20551: sculpt mode, render and then sculpt crash. 2010-03-12 16:51:12 +00:00
a44f9a6df4 Fix #21224, "FBX export has object translation issues".
Reversed the order of all matrix multiplications to confirm to API change.
2010-03-12 16:50:52 +00:00
4a8849b030 - Hhighlight active nurb in edit mode
- Replaced hardcoded nurbcol array with theme colors
- Send notification in duplicate curve operator (this operator could
  reset/change active nurb)
- Edge seam color added to the user preferences dialog
2010-03-12 16:43:04 +00:00
a19e542db2 Bug #20410: collada doesn't compile with mingw but is enabled by default. Since
no one seems to be fixing this I've just disabled it by default now.
2010-03-12 16:32:18 +00:00
173c1c170f Fix #21066: particle hair X mirror doesn't work. 2010-03-12 16:21:39 +00:00
f21cab3ed5 Patch #21027: 3d view background seams fix, by Anthony Edlin, thanks!
This fixes a bug where the texture coordinates were wrong, and also
makes filtering now work even at the borders of the tiles into which
the image is split. Also see bug #20933.
2010-03-12 16:02:05 +00:00
8252fa5a16 Fix smoke looking black in the viewport when compiling with -ffast-math.
(memset works on byte level and bytes -1,-1,-1,-1 = NaN).
2010-03-12 14:42:03 +00:00
812be2053a Fix #21122: color sliders behaving weirdly. 2010-03-12 14:18:14 +00:00
9395efc02f Revert part of my last commit and leave emit/environment out of outliner,
there's a problem here with overflowing shorts that I'll need to fix later.
2010-03-12 13:45:25 +00:00
00d1e56f3d Fix for warning introduced in passes commit, also removed some more
radiosity code.
2010-03-12 13:19:32 +00:00
4dbf499be3 Fix crash in compositing nodes, due to threading problem. 2010-03-12 13:07:25 +00:00
353a078d4c Fix #21211: new indirect/environment/emit passes weren't showing up
in compositor and outliner yet.
2010-03-12 12:29:12 +00:00
b0dd7b8c9c Fix #21189: vertex paint not working with mirror modifier. 2010-03-12 12:09:58 +00:00
1337867378 Fix #21183: info stats not updated immediately on undo. 2010-03-12 12:09:06 +00:00
4faedb3d91 netrender:
sensible timeout on connection attempt
fix for operator api change
2010-03-12 03:12:27 +00:00
86c237b3a5 Added ability to save and load planar environment maps, rather than only cube. 2010-03-12 02:44:18 +00:00
63c71425b7 Fixed [#21558] ctrl+c a material color and ctr+v it into new texture color results in darker color 2010-03-12 02:43:36 +00:00
478e90ffdc Changed NTSC and PAL to be consistent with the ITU BT 601 spec, other variations can be done as custom if the user wants it. 2010-03-12 00:22:33 +00:00
d896c1f21f fix crash in compositing nodes passing on NULL compbuf.
(revision 27415 from render25 branch)
2010-03-11 17:19:08 +00:00
d82e88d265 rna/py api function for removing ID blocks, id.unused_clear()
(revision 27409 from render25 branch)
2010-03-11 17:18:06 +00:00
bb3168afbe re-project paint failed on no-camera when a camera wasnt needed.
(revision 27388 from render25 branch)
2010-03-11 17:16:03 +00:00
8da10f59eb Merge -c 27223 from COLLADA branch into trunk. Vertex color export was requested and reported to work by Blake Maltby. 2010-03-11 15:37:19 +00:00
ce747a1c26 Fix #21550, "FBX Exporter doesn't make faces". Exporter incorrectly accessed vertex indices. 2010-03-11 15:28:22 +00:00
6028470a9c Motion Paths + Auto-Keying:
Revised the conditions under which motion paths get recalculated after transforms (when auto-keying is enabled). Now, the type of path display does not matter, but rather that the object/bone in question has any paths at all. This makes animating with these a much smoother experience.
2010-03-11 11:15:25 +00:00
69a7060678 Restored Environment maps
* Fixed up RNA and UI
* Brought back 'Save' and 'Clear' operators (in the little triangle menu in 
environment map properties)
* While I was at it, noticed that environment maps were only using 8bit 
colour, changed it to use full 32bit float instead for proper HDR colour etc,
so environment map reflections have the correct colour range
--> http://mke3.net/blender/devel/2.5/env_hdr.jpg

This fixes [#20904] Environment Map does not render; also missing panel
2010-03-11 07:43:49 +00:00
5ec57e80b0 A number of common rendering presets, looked up and added by Simon Rainerson 2010-03-11 07:24:26 +00:00
ed30bb4881 Send data changed notifier after object conversion.
Need this for refreshing "Object data" page.
2010-03-11 06:12:53 +00:00
271256ad33 Fixed typo in blenderplayer scons rules. 2010-03-10 21:21:14 +00:00
969b4673c7 Python/RNA: added collection.move(from, to) for python defined
collection properties.
2010-03-10 20:54:14 +00:00
0ef0caaedf RNA/Python: support for layer subtype with BoolVectorProperty. 2010-03-10 20:33:57 +00:00
405d7554a0 Add COMPAT_ENGINES mechanism to lamp panels so other render engines can show
different panels here.
2010-03-10 20:24:06 +00:00
c0b3ab6ceb filebrowser:
* move own thread handling for thumbnails to WM_jobs 
* cleanup of thumbnail creation code
* added function to kill the job, which actually allows thread to terminate gracefully

vc9 projectfiles:
* fixed some missing includes for release target!
2010-03-10 19:30:20 +00:00
222dc9cf13 OSX compile fix, for Scons, provided by Jens.
Error caused by openmp weirdness in gcc for osx.
2010-03-10 18:05:58 +00:00
3d222c3de6 - scene sequencer camera override wasnt working for render strips (only opengl)
- temp disable camera switching with override by clearning markers (hack)
- check for GAMEBLENDER define else eclipse gets confused by multiple definitions of functons in the stub.
2010-03-10 08:17:18 +00:00
b9211135ef [#21261] Bugfix for dynamically loaded scenes' lights not mixing in multitexture
from Mitchell Stokes (moguri)
2010-03-10 07:41:16 +00:00
f137c4535a Fix [#21371] Hover Paste doesn't work [27157] 2010-03-10 05:57:03 +00:00
8b92e0664b Fix [#21514] Emission Col slider ignores checkbox 2010-03-10 04:30:17 +00:00
081eca084d Fix [#21515] New cubes don't follow grid size for height (Z) 2010-03-10 04:23:08 +00:00
54b4266bef Fix for [#21411] Particles jitter when resting on a collision object
* Particle now take particle acceleration during collisions into account.
2010-03-10 03:41:41 +00:00
d440f0392a Added Cmd-C/V for console copy and paste on mac os x. 2010-03-10 02:44:21 +00:00
15fae3c269 Fix [#21476] Mousewheel speed disrepancy
Tweaked mouse wheel sensitivity in scrolling 2d views
2010-03-10 02:06:28 +00:00
a550de158e Fix [#21520] Using sample tool from color ramp sets alpha to 0 2010-03-10 01:59:50 +00:00
2df08632cd softbody.c / preparing 2.5 / animate all ..
still not happy with it 
loads of issues .. anyone like to join Ulysses?
2010-03-09 23:30:32 +00:00
a999e24a14 iTaSC: joint limit are now given directly in radiant, no need to convert. 2010-03-09 22:44:03 +00:00
4c8dab48c5 cant test but this should fix mac build 2010-03-09 19:04:05 +00:00
1708ac0723 rename some functions to use easier to understand names.
'BLI_makestringcode' --> 'BLI_path_rel'
'BLI_convertstringcwd' --> 'BLI_path_cwd'
'BLI_convertstringframe' --> 'BLI_path_frame'
'BLI_convertstringframe_range' --> 'BLI_path_frame_range'
'BLI_make_cwdpath' --> 'BLI_path_cwd'
2010-03-09 17:36:23 +00:00
26272d4c58 added relative path option for image load and save, relative path option from the userprefs wasnt being used. 2010-03-09 16:57:24 +00:00
1b28081102 Mac + OpenMP + pthreads workaround: recent commit broke compile, just
moved it into threads.c now instead of having it duplicated in various
places.
2010-03-09 16:54:25 +00:00
69a486e038 Fix render baking crashing on windows/mac. Problem was increased
max number of threads caused Blender to run out of stack space,
now just does dynamic allocation.
2010-03-09 16:34:28 +00:00
ad0e57a2a8 reproject - clamp image by the maximum texture size, remove debug printf. 2010-03-09 14:35:56 +00:00
5f7bcee541 camera override option for scene strips. 2010-03-09 13:52:52 +00:00
869b16d894 Updating/removing really really ancient stuff. 2010-03-09 11:42:04 +00:00
b7a73f9e5b mtex buffer copy & paste back for materials. 2010-03-09 09:17:45 +00:00
6a4b39ed2c Bugfix #21508: Hidden bones remain "selected" and are affected by transforms
Made hidden bones get ignored by transform code. This should be quite an old bug...
2010-03-09 08:31:41 +00:00
ec303cf980 Fix [#21188] HueCorrection Node, when reseting Curve, it goes to a incline instead of flat/straight 2010-03-09 07:41:27 +00:00
d4756d395b remove for bad-level-call & some minor changes to make camera switching neater. 2010-03-09 07:41:04 +00:00
9c513346a5 Bugfix #21117: Trying to select overlapping keys in the graph editor only cycles through top two keys
(A masterclass in killing a bug using a sledgehammer...)

Recoded the way that Graph Editor keyframe selection works, replacing the old penalties + closest vert system with a selection queue. 

Perhaps the sensitivity tolerance for picking up when a vert is clicked on is too sensitive now, but this can be fixed easily.
2010-03-09 07:09:38 +00:00
74d58017e6 Fix tiny drawing offset in file selector 2010-03-09 07:03:58 +00:00
e8f32d0c05 Fix [#21519] UV Editor header doesn't update when changing proportional editing mode
Would be nice to separate these properties, so proportional edit/snap are 
not linked between 3D View and UV Editor (different areas of workflow).
2010-03-09 06:49:58 +00:00
2ad3d8f158 Fix [#21145] Preferences: Solid OpenGL lights viewport update 2010-03-09 06:20:08 +00:00
05332ed0ed Fix for earlier cache commit. 2010-03-09 04:38:51 +00:00
63d96b8ca0 Fix for: [#20937] Add brush doesnt work when disconnected hair option is enabled.
Really not much to fix, since it's just not supposed to work. Removed the non-working
brushes (add and puff) from the brush list while hair is disconnected.
2010-03-09 03:42:20 +00:00
c1166642d0 Fix for: [#21105] comb mode - bug with "free edit" 2010-03-09 03:27:05 +00:00
979aa4e990 Point cache optimization: only cache particles that are alive.
This reduces point cache sizes dramatically especially if particle
life time is small compared to total simulation length. For example
with the settings: particle amount = 10000, start = 1, end = 200,
life = 10, cache step = 1, the unoptimized blend file size (compressed)
was a little over 22 Mb and with this optimization the file is a little
under 2 Mb (again compressed). In addition to saving memory/disk space
this also probably speeds up reading from cache, since there's less
data to read.

As an additional fix the memory cache size (displayed in cache panel)
is now calculated correctly.
2010-03-09 03:01:18 +00:00
417c328874 Fix [#21047] Sample color too dark when not using color managment 2010-03-09 02:29:59 +00:00
ca43a2a87f Fix [#21022] Compositors File Output node doesn't use Colour Managment 2010-03-09 01:25:15 +00:00
70efb8d322 [#21433] Angular rotation snap issue, final value set is not snapped - SVN 27250 and 2.50A1
Proper fix for this. Moving special mouse input stuff to custom callbacks (this also makes the per transform main functions a bit cleaner).

It also fixes the operator property (value) for shear and warp.
2010-03-09 01:19:32 +00:00
f03a17d0f9 * Fix for crash using texture nodes in displace modifier
Modifier code was asking for filtered textures without sending derivatives. 
Disabled this and also checks for filtered/non-filtered.

Brecht, I assumed this was ok due to the existence of the p->osatex variable 
- if this isn't what you had in mind, please change or let me know :)
2010-03-09 00:35:05 +00:00
d1bf196de1 improve brush size keys so they dont change by 20 each time (bad for small brushes), added wm.context_scale_int() operator. 2010-03-08 23:34:38 +00:00
754b22bd51 option to use offscreen opengl drawing with the sequencer scene strips.
warning, uses bad level call, will need to resolve very very soon!
2010-03-08 21:33:51 +00:00
Ken Hughes
8d2e51f559 scons build systems
-------------------
Revert inadvertent ffmpeg changes.
2010-03-08 20:37:45 +00:00
Ken Hughes
1f470ab1b4 scons build systems
-------------------
Allows static libs to be passed correctly to the linker (i.e., full paths to 
libs which end in ".a" are passed to linker without processing).  I've been
using this on linux release builds since sometime around 2.49 without problem
but hesitated to commit since I don't know if it would affect any other
platforms.  If you're using static libs on another platform and it breaks,
let me know.
2010-03-08 20:32:17 +00:00
b356eb6a8b image re-project now uses offscreen render function and has input for render size.
unrelated changes that ended up being more trouble to commit separate...

- removed BLI_split_dirfile(), was nasty, occasionaly modifying the source string, it could create directories and used the $CWD in some cases. was only used in 2 places in filesel.c, if this gives problems can address without bringing back this function.
  renamed BLI_split_dirfile_basic --> BLI_split_dirfile

- view3d_operator_needs_opengl was being called for offscreen render when it wasnt needed.
2010-03-08 20:08:04 +00:00
187b3bc1eb MSVC projectfiles_vc9:
* maintenance
2010-03-08 18:36:17 +00:00
d0e0f6dea3 move render operators into their own files, render_internal.c & render_opengl.c, rather then have them in the screen module.
also rename render operators SCREEN_OT_ --> RENDER_OT_
2010-03-08 16:36:53 +00:00
59db9a4061 Bugfix: multires save external was not working. Just disabled operator poll
for now, but there's actually a deeper issue here, the modifier is no longer
in context after the file browser, not sure how to solve this.
2010-03-08 15:44:26 +00:00
23cfce7691 Depsgraph: more tweaks to last commit to get it actually working
int more complex files.
2010-03-08 15:38:10 +00:00
657e02106a Depsgraph: always execute scene camera as if it was on a visible layer,
because even if it is not it can still affect the 3d view or render.
2010-03-08 15:21:39 +00:00
17975400e0 Send object's modifiers were changed in conversion operator.
This will prevent displaying data on modifiers page after conversion is over.
2010-03-08 14:35:38 +00:00
cb85779da9 Change airbrush rate min/max to allow lower values and add separate
soft/hard limits for even lower/higher ones.
2010-03-08 14:31:27 +00:00
838842581c - Fixed trouble with rendering curves with disabled modifiers, which are
disabled for realtime displaying but enabled for rendering.
- Calculate tex space for curves before modifiers applying.
2010-03-08 13:49:13 +00:00
38f3b8ab92 Fixed segmentation fault when converting mesh to mesh with non-empty modifiers stack. 2010-03-08 13:49:05 +00:00
cb20ed1634 Fix [#21469] long paths can't be scrolled with the mouse 2010-03-08 12:35:59 +00:00
9ce5be3706 workaround for [#21486] Python debuger pdb don't work
setting sys.stdin to None is done so python wont lock blender when it tries to read from the input. - help() from the console does this.
Running blender with -d keeps the stdin so python debugging can work. add info in the help message about this.

eventually it might be best to replace sys.stdin with our own object which interacts with the console but this is not trivial.
2010-03-08 12:29:58 +00:00
1138214a8c commit from r27250 to fix bug #21433, broke local axis rotation for pose bones and objects.
commented fix and reopened report.
2010-03-08 11:47:43 +00:00
57eac3b3e3 Ctrl+RMB support for selecting markers when sync markers is enabled. 2010-03-08 11:10:04 +00:00
3ddbd2abe5 Fixed segmentation fault error when entering curve's edit mode when
there is sufsurf modifier first in the stack.

Some optimizations in curve_calc_modifiers_post():
  - Calculate allverts array only for curve modifier applying to curve
    without derived mesh.
  - Do not calculate deformedVerts array each time deformation modifier
    is applying to derived mesh.
2010-03-08 10:05:51 +00:00
3b105657d5 option to transform markers in the dope sheet, needed for re-timing animation. currently supports translate and extend.
TODO:
- select markers in dope sheet.
- transform time scale.
2010-03-08 09:06:58 +00:00
581efb4346 re-project images now save as PNG's rather then TAGA's, should work around a problem photoshop has with saving taga's with alpha channels. 2010-03-07 20:39:27 +00:00
7f2817f65b rna image.file_format, can be set before saving to choose a file format from a generated image. 2010-03-07 20:27:40 +00:00
8a4f9ef831 [#21433] Angular rotation snap issue, final value set is not snapped - SVN 27250 and 2.50A1
Needed to reassign calculated rotation into the values vector.
2010-03-07 15:36:52 +00:00
2e74179291 Readme Update to Alpha 2 (better late than never) 2010-03-07 13:18:13 +00:00
28a0d4a65a aparently startfile didnt work. trying 'start' command for windows. 2010-03-07 11:41:26 +00:00
8d53f3f04e Enable "Build" modifier for curves/surfaces. 2010-03-07 10:40:52 +00:00
447cd8d791 Restore iTaSC UI. 2010-03-07 09:53:59 +00:00
b237dc3af5 image editor user preference.
image.py has a function image_editor_guess(), please test on windows and mac. (using 'startfile' and 'open')
this is only used when the image editor is not set.
2010-03-07 09:23:57 +00:00
3ad1bfa69e Fix for convert_exec()
"Keep original" option now works for all objects' types
2010-03-07 05:04:22 +00:00
8e35d91985 ok now all 3 major platforms should work 2010-03-07 02:38:15 +00:00
d6a28f438f doh that is what i get for committing before testing... adding missing lines 2010-03-07 02:14:52 +00:00
03bd7346ef reverting 27304, please test before committing. 2010-03-07 02:12:51 +00:00
1eed648aa9 allow darwin and windows users to use the view based image editing also, temporary hard coded workaround till it is setable via prefs 2010-03-07 02:08:43 +00:00
c052a5bc36 mplayer preset, plays back movies and image sequences.
added scene.render.is_movie_format
2010-03-07 02:04:30 +00:00
c3c16603d2 No code chanced .. just tagging hot spots
for 2.5 paradigm 'animate everything'
2010-03-07 00:11:40 +00:00
8f330a333a masking wast used for reprojectuion (used for stencil & normal falloff) 2010-03-06 22:53:31 +00:00
c50bfd486e fix for using an un-initialized pointer & quiet compiler wanring on raytrace test. 2010-03-06 22:30:09 +00:00
Dalai Felinto
26fae8985b flipping "tab as space" option (so it's on by default - argh ;)
(and fix error in creator.c last commit)
2010-03-06 22:12:42 +00:00
3838b80cf1 re-project + gimp integration, now its easy to edit the view in the gimp and apply the projection back without manually opening and saving files. 2010-03-06 21:47:16 +00:00
Dalai Felinto
782cb1f0e0 Tab as Space as a User Preference option. to affect new and loaded text files.
* I put it under General->System. Not sure is the better place for it though (space_userpref.py)
** also: creator.c fix to avoid autoplay of games when scripts are disabled.
2010-03-06 21:45:46 +00:00
50b13f0a56 BGE 2D Filters: slightly change dfelinto patch to use SCA_IScene instead of KX_Scene. It is rather anecdotic since KX_Scene is the only implementation of SCA_IScene but it's better to keep GameLogic and Ketsji separated. 2010-03-06 21:22:09 +00:00
b1a05da291 re-project: operators for projecting from a view screenshot rather then a camera.
- new mode for projecting an image with the view matrix saved in the image id-properties rather then using the camera matrix.
 - operator to screenshot the view and create a new image with the view matrix stored in the image.

these will be used for better re-project integration and are not immediately very useful.
2010-03-06 19:46:21 +00:00
c0f56503bf disallow naming ID datablocks an empty string, this wont work, you cant select them in the ID user input and it can mess up writing files based on names.
also fixed some warnings.
2010-03-06 18:21:57 +00:00
c846136cd0 Full Path for GL include, fixing compile for scons.
Note: /include doesnt have a scons script yet, so fixing it this way.
2010-03-06 13:43:47 +00:00
a53ef075ae python api function for rna objects: object.as_pointer()
This means we can write low level apis in pyton or C where blender data is passed to external C modules without having to have blender support this directly.

Example use case is to get an image pointer then use ctypes to get the image buffer and pass it to a C image processing function.
2010-03-06 12:37:29 +00:00
1687a0b21e RNA/Py API from 2.4x
Image functions: reload(), update(), gl_load(), gl_free()
2010-03-06 12:02:27 +00:00
e3c10b9d08 Fixed memory leak caused by incorrect adding data to mesh's layer in nurbs_to_mesh(). 2010-03-06 10:22:27 +00:00
7c0d2ffb64 pep8 cleanup 2010-03-06 01:40:29 +00:00
63bc8405fa Fix for #21420, Minor bug with editing keymaps
Disable add item button for non-editable keymaps
2010-03-06 00:17:10 +00:00
6bfbffef56 Bugfix for #21466, paste and copy ramps doesnt work
Fixed typo
2010-03-05 23:43:28 +00:00
1d21d6ca9a reproject
- use render mesh settings rather then view settings.
- fixed bug with brush size being overwritten and allowing non mesh objects to be projected onto.
- made the paint loop less messy & minor cleanup
2010-03-05 22:01:42 +00:00
0d9cb64624 reprojection
- blend in the projected image by its alpha rather then copy its alpha. this way you can easily mask out areas not to touch.
- undo was crashing.
2010-03-05 20:22:17 +00:00
6fd13b904c bug from own commit 27277, ortho wasnt being disabled in render data once set. 2010-03-05 19:57:10 +00:00
5658ef4501 Bugfix for #21452, Crashdown in Video Sequence Editor
Added some NULL checks
2010-03-05 19:35:17 +00:00
94d5b31b9d reproject operator, use to reproject edited renders back into textures.
- uses project paint options (UV bleed, normals, culling)
- bicubic interolation from the image
- multithraded

TODO.
project into multiple objects at once.
2010-03-05 18:19:32 +00:00
d0c70ad1d5 Constructive modifiers for curves and surfaces
Used approach with creating DerivedMesh for curves whet they've got such modifiers.

Available modifiers are: array, edge split, mirror, solidify, subsurf.
2010-03-05 16:47:52 +00:00
bf4d8ffe3a Fix #21458: tangent space normal maps didn't work correct in some
cases due to recent fix to avoid division by zero.
2010-03-05 15:36:05 +00:00
422241c4e6 Fix #21442: RNA mesh texture face layer was giving corrupt data while
in edit mode. Accessing this data would require editmesh wrapping, so
for now just don't allowed this to be accessed in edit mode.
2010-03-05 15:16:37 +00:00
d08c480cfe Fix #21374: OS X Makefiles missed optimization flags in 2.5 since at least
two years, got (presumably) commented out for some test and never added back.
2010-03-05 14:29:48 +00:00
f4298de8aa utility function object_camera_matrix, moved code from RE_SetCamera into this.
use for getting the render matrix of a camera (view plane, winmat, clipstart/end) without rendering.
2010-03-05 14:06:39 +00:00
19154014b8 remove viewfac from Render struct, its only used locally 2010-03-05 13:00:48 +00:00
b055e596cc Bugfix #21434: 'Ghost' for Rotation F-curves was not taking unit conversions into account, so the ghost curves were calculated+stored wrong 2010-03-05 11:35:15 +00:00
Dalai Felinto
8f5c9f64e2 Bringing back "Auto Start" option in the Game Menu.
It's (still) not working since the pool in the operator will not allow this operator to run without context.
For the window/area/screen has to be created somewhere (maybe in WM_init_game ).

I have no idea on what should be done to initialize it here, so if anyone knows how to proceed, please help here.
* side note: should we also have it as a command line option?
2010-03-05 10:37:55 +00:00
4eeb6b5755 re-arrange paint initialization (no functional change) 2010-03-05 10:26:23 +00:00
c2d6001598 minor change to dupli draw looping, no functional changes. 2010-03-05 08:53:16 +00:00
Dalai Felinto
1935a276b6 partial fix for: [#21400] bpy.ops.view3d.game_start() in a startup script (-P) crashes Blender
Creating a proper pool for the game_start() operator. I still want to find a way to force the start of a game from the commandline.
2010-03-05 07:42:46 +00:00
61e84a77b2 Patch #21459: Expose viewmat (in Region3DView) via the py API
Patch by Martin Burbaum (pontiac), with some changes from me

Added access to the View (from patch) and Perspective (additional change) matrices for 3D Regions in RNA. 

Also, made these non editable for now (my change), since although users might need to get these matrices to make it easier to determine any projections that may be needed for funky operator drawing-hacks to be done, there is almost certainly no need for changing those matrices...
2010-03-05 03:16:16 +00:00
9df5b624ae Bugfix #20574: New 3D View regions were all had their 'type' set to 'RGN_TYPE_UI', which meant that the same region contents would get drawn in instances all over, causing quite some confusion. 2010-03-05 02:43:40 +00:00
f7909598e4 Bugfix #21463: Bone driven Shapekey broken in 2.5Alpha2 (for drivers from 2.49b)
Animation conversion needed to make transform channel driver vars (for bones) to be in local space, since that's what the old code did (albeit in a slightly more roundabout way).
2010-03-05 01:29:56 +00:00
75bafb1fcc Bugfix #21215: Panning Properties header shows unnecessary space.
There was an additional 'magic number' offset for the header width, from the days when there was the frame number and subtabs in the header.

--

Removed an obsolete and commented out line.
2010-03-05 01:18:12 +00:00
4b744ad9cb using displist with dupli objects logic was flawed, it would only try and use a displist with a new object if the previous one worked with a displist.
rather then this, if the object changes, re-test if a displist is possible.
also check if the next object matches before making a displist else there is no point since it will be freed right after.
2010-03-04 15:58:27 +00:00
d425ac9059 minor fix to dupli drawing, compare with the previous drawn object (not the last object which may not have been drawn) 2010-03-04 14:59:20 +00:00
f5c8ba586f effector shape names: old/new --> point/plane 2010-03-04 11:17:13 +00:00
Dalai Felinto
790d6ca256 small png include adjustments (ifndef NOPNG ...).
* gameplayer is now probably not going to build without PNG turned ON.

To fix that it would be necessary to use #ifndef NOPNG  around the GPC_Canvas::MakeScreenShot.
Since I don't this function it's working in 2.5 yet it's better to wait for that before doing it.
2010-03-03 19:34:17 +00:00
ef0dd615c6 select roots of the hair verts when converting hair into a mesh. 2010-03-03 19:22:02 +00:00
Dalai Felinto
c5231858d4 fix for CMake compile in windows. ($PNG_INC was needed) - partial revert of commit 27251 2010-03-03 19:18:50 +00:00
5de69e9545 [#21436] Do not set BASACT to NULL when new base wasn't created in convert_exec
by Sergey Sharybin (nazgul)

(from the patch)
When new base wasn't created in convert_exec() function. BASACT will set to NULL, which is not convenient. For example,
u can't enter edit mode after converting curve to mesh. Now BASACT changes only if base for active object was changed.
2010-03-03 18:49:26 +00:00
f09efddcda fix for minor errors/warnings 2010-03-03 13:59:57 +00:00
ca7b6e2cd0 fix for more crashes with baked fcurves 2010-03-03 13:20:18 +00:00
58bf4b1ab5 baked fcurves would crash on deleting in the graph editor 2010-03-03 12:53:26 +00:00
74faed26fc marker/camera select, makes active as well as selecting. 2010-03-03 11:48:03 +00:00
0dfb6c4d0b bugfix [#21428] Particle number display offset 2010-03-03 11:40:12 +00:00
7e05205296 worldspace text locations & made some improvements to string formatting for particle number display. 2010-03-03 11:23:59 +00:00
560de5e6e5 set the context on importing bpy module. 2010-03-03 08:56:48 +00:00
9aa451f631 move to make way for external svn addons 2010-03-03 07:34:13 +00:00
Dalai Felinto
0cad3ae24c BGE 2D Filters: filters run per scene now (fix for [#18152]) - it (slightly) breaks backward compatibility !!!
Originally we had 2DFilters (m_filtermanager) stored in RenderTools. That way filters were stored globally and were being called once per each scene. This was producing two big problems: (1) performance and (2) flexibility of use.

(1) Performance - To run the filters 2X == 2X slower
(2) flexibility of use - Very often we want the filter in the scene but not in the UI for example.

For those reasons I believe that 2DFilters with multiple scenes was very useless or unpredictable. I hope they work fine now.
To make it work as before (2.4) you can simply recreate the 2dfilter actuators across the scenes.

* * * * *

Imagine that we have:
(a) Main Scene
(b) Overlay Scene

in Main Scene the Z Buffer and RGB will be from the main scene.
in Overlay Scene the Z Buffer will be from the Overlay Scene and the RBG buffer is from both [(a + 2D Filter) + b].

So in pseudo code if we have a,b,c,d,e scenes we have: (2DFilterE(2DFilterD(2DFilterC(2DFilterB(2DFilterA(a) + b) + c) + d) + e)
2010-03-03 06:38:47 +00:00
c26486f207 Make object stat consistent with the rest of counters (selected-total). 2010-03-02 22:19:32 +00:00
d088bd80ea Splash for testbuild update... 2010-03-02 19:24:20 +00:00
570f9ac0b5 Blender internal number upped to 252, so it matches testbuild
number 2.5 alpha 2
2010-03-02 18:49:09 +00:00
74fcd5b5d4 fairly horrid feature so Colin can see at a glance what cameras are enabled for switching.
draw timeline text 50% alpha when cameras are disabled.
2010-03-02 17:17:34 +00:00
ab2f7b5005 Ctrl+RMB on markers selects their cameras too 2010-03-02 16:57:39 +00:00
cb22649e0b convert to mesh (Alt+C), was failing in cases when MDef was used. make the mesh from the original rather then the copy. 2010-03-02 15:33:33 +00:00
aec7174a42 fix for OBJ exporting Texface images 2010-03-02 14:57:28 +00:00
da3802f559 Info Header: Non-blocking Info Messages
Reports (i.e. 'info' or 'errors') are now shown in the info header in place of the scene statistics if the last executed operator had some, with this info disappearing again once another operator is run (to show scene statistics again). 

For example, this means that info such as the the number of verts merged, or whether a Keying Set successfully inserted keyframes, etc. is now shown again somewhere, and that this is done in a non-blocking manner.

The current implementation is still a bit crude (i.e. lacking fancy polish), but is at least barebones functional. The todos...
* When more than 1 report message is generated by the last operator, there is currently a display of the number of reports. In future, it would be nice to be able to add a button beside this or make the label clickable with appropriate text indicating this (commented out atm) to show popup menu of all the reports...

* There could probably be some kind of coloured backdrop behind the text. Currently using standard box, but that has padding problems, and lacks visual interest.
* Timer based fade out/disappear?
2010-03-02 11:48:40 +00:00
46d50b0d1f bugfix for displaying ID properties
- fixed memleak from 2.4x with setting arrays from python
- basic support for IDPropertyArrays

 context.object["foo"] = [{"smap": 10}, {"foo": 2}]
2010-03-02 11:35:28 +00:00
1444cb9928 patch from Sergey Sharybin (nazgul), use buildinfod for the player. 2010-03-02 09:45:12 +00:00
7aea146507 Replace the >>why is this here?? comment by some hard-earned experience with the .bullet file format (derived from .blend) 2010-03-01 19:18:56 +00:00
bdd17df0bc MSVC projectfiles_vc9:
* added file blf.c in BPY_python
* added headers from generic subdir to project
2010-03-01 18:34:33 +00:00
1b30b13a4d Fix #21227, #21346 and #21336: image texture wasn't centered correctly
when sculpting and using it from material nodes.
2010-03-01 18:11:09 +00:00
a3300bcac8 allow display lists for dupli objects within a dupli list, significant speedup for duplifaces within dupligroups in one of the durian scenes. 2010-03-01 17:53:33 +00:00
29fc56b5bb bugfix [#21405] Error on loading of thumbnails from network renderer [27204] 2010-03-01 12:44:28 +00:00
c0984d59cc Delete keyframe API method now takes array_index = -1 to delete keyframes from entire arrays, as for insert keyframe.
Enabled the 'keyframe_delete' method for RNA structs.
2010-03-01 10:43:02 +00:00
d975351f51 parts of the Python API are unstable, big discalmer in API docs main page, API Docs title and interactive console banner. 2010-03-01 10:34:54 +00:00
b55774aebe Missed a spot when renaming the API functions for adding Keying Set paths
Also some indention/whitespace tweaks
2010-03-01 09:42:39 +00:00
81ab852ba9 Bugfix #21262: Loading Alpha 0 project crash in Alpha 1
Old temp-pointers for File Browser instances were not being cleared on file load, resulting in crashes when trying to free temp screen layouts that contained file browser instance data.
2010-03-01 06:23:59 +00:00
26932c21eb Bugfix #21384: Bone Driven Shapekeys Child Evaluation Problem
Transform channel drivers for bones in 'localspace' was using the wrong matrix when getting the transforms. I had been assuming that pchan->chan_mat always contained only the matrix-ised transform values stored in the pchan (which is true while constraints are being evaluated, but not afterwards). 

Changes:
- Added a new function to calculate this matrix instead of directly writing it on the pchan->chan_matrix field. 
- Also, made the normalisation of the quaternion values during this process be done on a temp var instead of on the stored value. This was a constant source of confusion in the past, so let's see if we can do without it now :)

Unrelated to this commit, I've also fixed a compiler warning with previous commit that I missed (missing include).
2010-03-01 05:19:07 +00:00
da4ab26a47 Bugfix #21398: Renaming sequencer strip disables F-Curves
Related F-Curves were not being renamed when Sequencer strips were renamed.
2010-03-01 02:33:53 +00:00
fbb8672da4 replace operator options bl_undo and bl_register with bl_options
eg.
 bl_options = {'REGISTER', 'UNDO', 'BLOCKING', 'GRAB_POINTER'}

This didnt exist when operators were originally wrapped.
2010-03-01 00:03:51 +00:00
c4f5624768 remove netrender reference from rigify 2010-02-28 23:25:00 +00:00
b5d6d11abb patch from Clark Gaebel, use const char * for buildinfo strings, also updated bpy_app.c 2010-02-28 22:48:50 +00:00
5455917274 comparing Vector(-2, 0, 0) and Vector(2, 0, 0) was returning true, this bug is years old, strange nobody noticed.
use float comparison from the "Ever Faster Float Comparisons" paper, tested with random values as well as random values converted to ints (where this existing code would fail).
2010-02-28 19:27:06 +00:00
9e35777019 Revert back debuging code that made drawing transform constraints only work on one side. 2010-02-28 17:51:23 +00:00
52db706abc [#19918] edit mode with mesh only having edges without faces+face select mode
Make select all operator select mode sensitive (it won't select elements that aren't selectable)

Patch by Sergey Sharybin (nazgul) (slightly modified)
2010-02-28 17:47:49 +00:00
3501cfa04e update for .B.blend
- disable running scripts automatically
- set sequencer image preview
- added a 3D viewport in the python script screen & selected 'Text' in the next editor.
- enable stamp rendertime by default. (stamp its self is disabled)
- set the stamp font size to 12 (was 8, too small)

also set the default font size to 12 for new scenes.
2010-02-28 17:42:05 +00:00
0e18035f82 remove so-called security patch,
this has been used by various projects but needs to be justified since it wont remove paths that also resolve to the CWD, "." for instance.
2010-02-28 17:11:42 +00:00
ed7f4f2e3c make BGL and BLF modile names lowercase 2010-02-28 14:57:26 +00:00
c1cd33e166 examples for autogenerated docs are now implicit and used when available.
This means adding the file "bpy.props.py" in the examples dir will automatically be used when generating docs, unused examples give warnings.
2010-02-28 13:45:08 +00:00
fc1cb1670e include BLF in automated doc generation
http://www.blender.org/documentation/250PythonDoc/BLF.html
2010-02-28 11:54:48 +00:00
3bbf1917c5 python BLF module for drawing text, updated template to draw text in the 3D view. 2010-02-28 11:18:54 +00:00
f9d24eab55 Partial Fix: [#21085] Sequencer file selector for movies is strange
* joined filename and directory to single rna entry for movie and sound sequence 
* PROP_FILENAME was missing in makesrna
* made seq->strip->data->name PROP_FILENAME rather than PROP_FILEPATH for the complete path
* also made seq->strip->data->name read only

Missing still: update of sequence length, start end frame etc..
2010-02-28 11:17:55 +00:00
1a2ceea381 soundfile loading: fix crash with long path to the sound file (was 160 only and unchecked) 2010-02-28 11:02:06 +00:00
9789e08942 MSVC projectfiles_vc9 maintenance
* added ghost dependency to blenlib
* new file bpy_rna_callback.c in blender/python
2010-02-28 09:46:21 +00:00
5369bd9c21 - template with an example of a modal operator drawing with opengl (draw a line on the screen)
- access to event.mouse_region_x/y
- basic type checking to callback functions (use PyCapsule names)
2010-02-28 09:36:02 +00:00
67af290bd1 Bug in OpenAL backend returning wrong playback position. 2010-02-28 08:53:08 +00:00
e51bcbae62 Fix for crash in imbuf code under certain circumstances on linux. 2010-02-28 02:17:07 +00:00
4ad5d16053 Fix include path for GHOST include. 2010-02-28 00:48:05 +00:00
bec3d21307 bugfix [#21381] Wrong negative separated units 2010-02-27 23:22:10 +00:00
5c87e0580f bugfix [#21247] Controls holding numbers are not zeroed when empty string value is given to them
- dont import math as math and m, just import all members directly. (from math import *)
- was adding __builtins__ twice to the namespace
- account for unlikely but possibly failier to import math.
2010-02-27 22:53:37 +00:00
7ab601747a patch from Andy Braham with some modifications
extracts zipfiles when installing add-ons
2010-02-27 22:36:37 +00:00
769eb45124 NetRender: Use threading mixin for master server. See if it solves latency issues that some people are having (always keep the stdout log from the master/client/slaves if you are reporting an issue). 2010-02-27 22:07:38 +00:00
fa6beb4302 System dependent standard directory retrieval functions update : return const strings (as coded in libc) instead of malloc'ed buffers
and plug them into wip BLI_bfile.c to replace the hardcoded paths
2010-02-27 17:03:46 +00:00
a9e3e0e40f Patch #21267 by Sergey Sharybin
His log:
There is a small typo in copy_curve(): there will be serious troubles 
if this functions is called for OB_FONT in edit mode (for my cases 
it is segmentation fault).
I think we should set editfont to NULL for cloned curves (as it is made 
for edit nurb).

This bug was found by trying to edit text with applied Cast modifier 
and while I was searching what's wrong, I've found that in 
castModifier_deformVerts() DerivedMesh is creating for all objects, 
but in castModifier_*_do() derived mesh is used only for OB_MESH 
objects. Maybe this place could be optimized a bit by skipping DM 
creation for non-meshes?
2010-02-27 16:06:33 +00:00
7fca47e0cf fix in commit today using strnlen, which is only available for gcc.
This adds a BLI_strnlen() to the blenlib.

Patch provided by Sergey Sharybin (nazgul)
2010-02-27 15:39:13 +00:00
c76b6fcb06 utility function pyrna_enum_value_from_id for getting the enum from a string and raising an error if its invalid. 2010-02-27 15:28:34 +00:00
3dd3e7321e store vars in py operators in the instance rather then the operator classes. 2010-02-27 14:54:45 +00:00
ddacff06f2 hold the python operator instance in the operator, otherwise the handelers need to be stored in the operator type or in the module which isnt nice for modal operators. 2010-02-27 14:44:46 +00:00
b6acf0bb48 python support for defining region drawing callbacks, while not directly related to operators, this means python can now make operators that draw in the 3D viewport interactively.
nicer then 2.4x space handelers because you can register draw handelers to draw pre/post 3d space or in pixel space.
2010-02-27 13:27:06 +00:00
34857189bc fixes for auto script execution, changing the user preference also updates the global flag. 2010-02-27 12:34:49 +00:00
820570031e was using wrong global flag for python script disabling in recent commit. 2010-02-27 12:01:10 +00:00
bdebf4f2cd One more decimal to the lamp distance and energy button... makes fine
tuning nicer
2010-02-27 10:01:20 +00:00
be44ac7490 * Renaming some Keying Sets API functions to make the terminology more consistent in the UI
* Fixed bug with hotkeys for adding properties to Keying Sets using the KKEY over the relevant buttons. Was calling the remove callback instead.
2010-02-27 02:03:33 +00:00
15db857628 rename flag for auto script execution since scriptlinks are no more. 2010-02-27 01:47:46 +00:00
4e931482f4 option to set the blend file as from a 'Trusted Source' on load. 2010-02-27 01:27:22 +00:00
5be3bf73be bugfix [#20694] Copy Paste to buffer missing in Console editor
- console selection working
- copy selection to clipboard
- paste selection from clipboard works with multiline paste

word-wrap is still not working with selection drawing.
2010-02-26 23:56:16 +00:00
71f7e50451 VideoTexture: optional arguments to ImageBuff constructor.
ImageBuff([width,height[,color[,scale]]])

width, height: size of buffer in pixel.
               default: buffer not allocated.
color: initial value of RGB channels. Alpha channel is 255.
       Possible values: 0(black=default) -> 255 (white)
scale: True or False to enable or disable fast scaling
       default: False

This constructors eliminates the need to use the load function
when you just want to initialize the image buffer to black or white.
2010-02-26 22:14:31 +00:00
a7b73a49a4 Fix for ffmpeg audio rendering being to long. 2010-02-26 21:08:06 +00:00
10dbf6faee rename extension to addon after discussion with meta-androcto & mindrones 2010-02-26 14:28:29 +00:00
bbf6dde277 rna/py api
rename image.save() --> image.save_render() because it uses render settings for saving.
added image.save() which is like pressing save in the image view, saving to the images path and removing the dirty flag.
2010-02-26 12:28:44 +00:00
d616286ffb Adding back decorator (metaclass registration not in trunk yet) 2010-02-26 12:15:15 +00:00
878d8b44ee remove rna functions image.get_export_path() and image.get_abs_filename(), filename functions should not be spesific to images.
rename BKE_get_image_export_path() to BKE_rebase_path() and take a filename arg rather then an image.

obj export file copy was also not working because of a missing import.
2010-02-26 11:50:59 +00:00
3ea627245b Bugfix #21339: Grease Pencil operator weirdness
Fixed missing listener for Grease Pencil notifiers when drawing.
2010-02-26 10:01:49 +00:00
9352c9f0c1 use negate_v3 rather then multiplying a vector by -1.0 (no functional changes) 2010-02-26 09:02:52 +00:00
2cf6141e7c fix for fly mode restoring non-euler rotations 2010-02-26 08:47:20 +00:00
cf4ba30f79 Few small hair dynamics goodies:
* Effectors now work with hair dynamics.
* Hair dynamics has a new "Collider Friction" parameter that works similarly to internal friction except now all collision objects effect the hair velocity. Useful for quick'n'dirty interaction with objects as the calculations are really fast, but doesn't really take away the need for proper hair-object collisions.
2010-02-26 03:24:21 +00:00
59e2fdbf31 Netrender: check if library and image files exist before adding as dependency. 2010-02-26 02:37:31 +00:00
de574490d2 [#21338] B-Bone display size crash [27127]
EditBones pretending to be pose bone when doing bone resize need a valid object pointer.

Tsk, who thought this was a good idea...
2010-02-26 02:33:04 +00:00
af987c12b5 VideoTexture: fix a bug with AV sync that was causing a loss of sync in case of rewind to the begining of the file. 2010-02-25 22:12:16 +00:00
0bef9d9c92 fix for camera rig that has locking on the camera but not the parent. 2010-02-25 21:20:00 +00:00
92bf8fa214 error in view3d math commit. 2010-02-25 21:10:43 +00:00
d4df20ea3f support for flymode with camera rigs, so the parent most object is actually flying. 2010-02-25 20:40:09 +00:00
db744f8b7f use math functions in view code, no functional changes. 2010-02-25 20:26:38 +00:00
3eaad6b3eb support for relative file loading and python paths.
means you can do...
 blender -P foo.py
where foo is $PWD/foo.py
2010-02-25 16:08:32 +00:00
0b33be5a7b select parent/child in object mode with [] keys, like pose mode.
also needed to extend the RNA api to allow C to set enums without meaningful values.
2010-02-25 15:41:46 +00:00
57baa94631 fix for warnings, add back pose relax into the pose menu. 2010-02-25 15:10:27 +00:00
4b80d4e60d AnimViz (Motion Paths + Ghosting) panels are registered so that they will show up in a sensible location in the properties window. Also made these panels collapsed by default. 2010-02-25 12:01:43 +00:00
Dalai Felinto
4d3accd0cb BGE Dome: BlenderPlayer Console arguments: warpdata working now (only with absolute path)
I forgot to say in the last commit that those arguments are only for the BlenderPlayer.
we can now set external warpdata files.

2Do:
(1) convert relative to absolute paths for warpdata files
(2) investigate weird bug on lack of light in blenderplayer with warpmesh

... [old 2Do]

(3) documentation
(4) preserve scene settings (at least scene->gm.dome) even if you load a new file inside the game (e.g. Yo Frankie loading new levels)
2010-02-25 06:05:56 +00:00
f696d57af7 Added a Recovery space in splash so new users don't panic when they
loose work (close by mistake or a crash)
2010-02-25 03:13:50 +00:00
88d6250005 Fix for [#20647] Children from particles on a subsurf mesh don't render correct 2010-02-25 01:57:09 +00:00
8b9e0e941c Particles with "no physics" didn't stick to the emitter like they were supposed to. 2010-02-25 00:03:49 +00:00
d1f19d7e84 Fix for [#19955] 2.5 Particles are calculated wrong when object has any transform animation
* The exact location of particle birth wasn't cached if cache step was greater than 1, so the interpolation from an unborn particle to a living one wasn't accurate at all.
* Although not ideal, the current solution is to copy the birth location to the previous cached frame so it's always exact. This should work properly for memory & disk cache.
* This fix shouldn't cause any problems, but exhaustive tests of caching are difficult so be sure to let me know if there's strange behavior.
2010-02-25 00:03:16 +00:00
Dalai Felinto
47d79b04d1 BGE Dome: Console arguments: angle, tilt, mode and warpdata (not working yet)
2Do:
(1) open external warpdata file
(2) documentation
(3) preserve scene settings (at least scene->gm.dome) even if you load a new file inside the game (e.g. Yo Frankie loading new levels)
otherwise it's a nightmare to update all your files every time you change your projection system. See note.
Maybe SYS_WriteCommandLineInt/Float/String can be used for that. Gotta investigate further.

* Note: an external warpdata file is a must ! Currently every time you need to calibrate your system you have to update the warp file in all your demo files. This is terrible. I'm glad I *now* have a dome near by to test it ;)
* FYI: A recent 'Yo Frankie in a dome' video if you want to see how it works: http://www.vimeo.com/9629626 I'm going to record a better one tomorrow.
2010-02-24 23:01:49 +00:00
b78b12b7ae Bugfix: FPS Frame Step had wrong minimum value. Animation rendering would fail if set to zero. 2010-02-24 21:53:16 +00:00
99b288da96 view selected now uses boundboxes of dupli-objects and ignores centerpoints of the instance objects when it has duplis. view selected also working again for selected paint mask faces. 2010-02-24 20:11:35 +00:00
aebe86bef1 hair was running collision functions (copy to/from collision arrays), even when collision could not be done. 2010-02-24 18:06:51 +00:00
b888a32eee getting double frames problem, set the epsilon to 100th of a frame rather then 100,000th. 2010-02-24 17:14:16 +00:00
a9307a4dd3 [#21295] Escape key doesn't cancel python modal operators
also fix distance with lamps being negative for typed in values.
2010-02-24 15:56:27 +00:00
03590eb8a9 allow cloth sim for linked duplicates, not many people use this but we need for using hair on linked characters, if there are bugs with this we'll need to fix so enabling for now with comments that its experemental. 2010-02-24 15:35:15 +00:00
6afd97b9af multi-multi modifier support. 2010-02-24 15:03:28 +00:00
de78240e1e [#21324] mdd import script ported to 2.5
2.4x port by Ivo Grigull (loolarge) 

from the tracker:

It should be working ok, but it does not have all options that the old script had. You can only specify the start frame
where to insert the animation, but not skip frames for have a different fps.

However, like the old script this will bloat the memory a bit, at some later point i would like to write a script that
only reads the current frame from the file when you move the timeline.
2010-02-24 11:03:22 +00:00
769f667f11 Empty draw size tooltip fix and added soft limits 2010-02-24 03:58:26 +00:00
2f4765034a set the max soft resolution of nurbs surfaces to 64 rather then 1024 2010-02-23 19:59:07 +00:00
55d0ae8ed9 - use search box for adding actions in the NLA
- use less complicated string conversion for saving keymaps
2010-02-23 19:32:32 +00:00
3f5786a00e added support for proxies as drivers back. 2010-02-23 17:56:45 +00:00
0dd58a27e9 - py-drivers were not using the name lookup cache.
- use manager context for keymap script.
2010-02-23 16:40:55 +00:00
9e2e528c36 - finally a way to force removal of images (Shift+Click on the X)
- generic modal operator now works with int's
2010-02-23 15:34:02 +00:00
78bb45931c scene.render_data -> scene.render
bpy.types.SceneRenderData -> bpy.types.RenderSettings

better do these changes before there are too many scripts out.
2010-02-23 12:48:35 +00:00
2dc5713eb4 Nicer step size for lamp energy value 2010-02-23 12:22:22 +00:00
ca5e7113d3 allow python api to set values of library liked data (still checks editable flag)
+ improved exception messages.
2010-02-23 11:19:55 +00:00
0c89dcc25c matrix functions, to_3x3, to_4x4
force fixed time when recording in the BGE.
2010-02-23 09:39:47 +00:00
3fbd42e014 Various RNA defaults for more consistency when updating settings (scene changes), and incorrect default values for scale settings. 2010-02-23 05:02:00 +00:00
01939f8472 Win64: Enable OpenAL for cmake + win64 2010-02-22 23:34:45 +00:00
97bdfe6f1b pep8 cleanup + correction for external player operator return value. 2010-02-22 23:32:58 +00:00
a8d364ce4a Move increment value into numinput structure.
Easier for transform to have different values per transform then (also different from gears values).

(Based on a bug reported by Jonathan Smith)
2010-02-22 23:25:34 +00:00
8a31fab304 Win64: Bugfix for non working scons, thanks to matd for the fix!
jesterKing: please check if the win32 dll's aren't needed anymore. Seems that they are compiled into ffmpeg, right?
2010-02-22 22:56:28 +00:00
a7d606a2ff Win64: Bugfix for missing include, reported + fixed by matd, thanks 2010-02-22 22:17:14 +00:00
b7e7a0140b Fix dual quaternions flipping in case of stretched (not scaled) bones. 2010-02-22 18:53:46 +00:00
2b9740bc3b Made a more generic rig type for giving animators direct control over shape keys. With this rig type you can attach shape keys both to the transforms of the bone and any number custom properties on the bone. 2010-02-22 18:07:16 +00:00
7777957521 OSX buildscripts update following ffmpeg precompiled libs update 2010-02-22 16:34:27 +00:00
960e45c42d - respect insert available with pose copy/paste (note: autokeyframe_pose_cb_func needs to be used for all cases I think)
- copy, paste ID properties with pose
2010-02-22 15:49:40 +00:00
494538db13 Fix integer overflow problem in deep shadow buffer. 2010-02-22 15:03:13 +00:00
85b7e19805 game settings wasnt checking if the scene has a world set (giving python errors while drawing) 2010-02-22 14:04:04 +00:00
f5cf555e6c Context for Object Align op = Object mode 2010-02-22 13:25:32 +00:00
d524f46335 [#21237] RAW triangle file importer
ported by Aurel W (aurel)

made adjustments to have this as a package in the extensions directory since this format isnt commonly used for interchanging data but still useful at times.
2010-02-22 13:21:09 +00:00
4ef1fd1078 game engine support for recording animation back & some other minor changes. 2010-02-22 12:25:58 +00:00
dd03793f4e OSX : Bugfix [#21293] add OpenMP apple gcc bug workaround for render preview
All openMP calls from a background thread need to have this thread var init workaround
2010-02-22 10:29:49 +00:00
b65a983d39 use BLI_findstring in more places & remove some warnings, no functional changes. 2010-02-22 09:22:36 +00:00
756dace6f5 fix for typo 2010-02-22 09:02:05 +00:00
e722806cf7 - Jack transport update: Moving the playhead in another jack app when not playing back now triggers an update in blender.
- Missing stub fix from last commit by nazg-gul, blenderplayer works now atm.
2010-02-22 09:01:49 +00:00
81847df968 Fix for the player by nazg-gul. 2010-02-22 08:27:45 +00:00
e31d0198e6 exclude self references from the ID search list when PROP_ID_SELF_CHECK is set, also raise an error from python if this is attempted 2010-02-22 08:27:45 +00:00
2bfee787a6 Fix for #21286, Trying to open the toolbox crashed blender 2.5 alpha 1
Added poll function for BUTTONS_OT_toolbox operator
2010-02-22 06:05:35 +00:00
bc3d96678d bugfix [#21233] Crash in pyapi, with new object.
pass the obdata as an argument rather then assigning later so as not to allow an invalid state.
2010-02-22 00:07:46 +00:00
835c353aaa Fix for #21209, Delete X for particle settings does nothing.
Disable ID default unlink button if the RNA property is set to never be null, as the unlink default action simply sets pointers to null
2010-02-21 22:55:35 +00:00
37b9c9fe4d VideoTexture: improvements to image data access API.
- Use BGL buffer instead of string for image data.
- Add buffer interface to image source.
- Allow customization of pixel format.
- Add valid property to check if the image data is available.

The image property of all Image source objects will now
return a BGL 'buffer' object. Previously it was returning
a string, which was not working at all with Python 3.1.
The BGL buffer type allows sequence access to bytes and
is directly usable in BGL OpenGL wrapper functions.
The buffer is formated as a 1 dimensional array of bytes
with 4 bytes per pixel in RGBA order.

BGL buffers will also be accepted in the ImageBuff load()
and plot() functions.

It is possible to customize the pixel format by using
the VideoTexture.imageToArray(image, mode) function:
the first argument is a Image source object, the second
optional argument is a format string using the R, G, B,
A, 0 and 1 characters. For example "BGR" means that each
pixel will be 3 bytes, corresponding to the Blue, Green
and Red channel in that order. Use 0 for a fixed hex 00
value, 1 for hex FF. The default mode is "RGBA".

All Image source objects now support the buffer interface
which allows to create memoryview objects for direct access
to the image internal buffer without memory copy. The buffer
format is one dimensional array of bytes with 4 bytes per
pixel in RGBA order. The buffer is writable, which allows
custom modifications of the image data.

v = memoryview(source)

A bug in the Python 3.1 buffer API will cause a crash if
the memoryview object cannot be created. Therefore, you
must always check first that an image data is available
before creating a memoryview object. Use the new valid
attribute for that:

if source.valid:
    v = memoryview(source)
    ...	

Note: the BGL buffer object itself does not yet support
the buffer interface.

Note: the valid attribute makes sense only if you use
image source in conjunction with texture object like this:

# refresh texture but keep image data in memory
texture.refresh(False)
if texture.source.valid:
    v = memoryview(texture.source)
    # process image
    ...
    # invalidate image for next texture refresh
    texture.source.refresh()

Limitation: While memoryview objects exist, the image cannot be
resized. Resizing occurs with ImageViewport objects when the
viewport size is changed or with ImageFFmpeg when a new image
is reloaded for example. Any attempt to resize will cause a
runtime error. Delete the memoryview objects is you want to
resize an image source object.
2010-02-21 22:20:00 +00:00
115fc34dd3 Update MSVC project files. 2010-02-21 22:15:25 +00:00
062d215b10 Fix #21214 Changing frame range on render panel doesn't update on timeline...
Was missing notifier

Also made a description slightly more consistent
2010-02-21 20:27:13 +00:00
3307d6d509 building without jack was broken 2010-02-21 19:54:18 +00:00
af835c52a9 correction pointed out by Moguri, logic button was accepting Text instead of actions. 2010-02-21 19:33:14 +00:00
38ef2df8f7 2.5 Audio:
* Jack Transport support!
* Minor sequencer audio corrections.
2010-02-21 18:01:41 +00:00
ee12a5368a scale int number button sensitivity by the min/max range. 2010-02-21 16:43:25 +00:00
d85191bd2d modal operator python template 2010-02-21 16:20:32 +00:00
eb0bf10c9c [#21269] Alt E extrude options don't appear without Tool Shelf visible
Vertex selection count wasn't properly updated after extrude.
2010-02-21 15:54:41 +00:00
6589038350 python rna api now clamps values, (was fun to see the spot_size go backwards)
Vector callbacks still missing clamp checks
2010-02-21 14:48:28 +00:00
d474fae9b9 == Sequencer ==
Made aspect ratio work again in sequencer preview
2010-02-21 14:19:53 +00:00
438b93dccc [#21265] Rotate behaves wrong with constraints
With new axis var for rotate, it wasn't reset properly when constraints are turned off.
2010-02-21 14:13:20 +00:00
0cc59b9bb7 generic modal operator to make adjusting almost any rna property with the mouse possible with a few lines.
Example which is similar to interactive lamp adjusting in 2.4x ...
  wm.context_modal_mouse(path_iter="selected_editable_objects", path_item="data.spot_size")

Added lamp Wkey menu back.
2010-02-21 14:05:02 +00:00
1bb37bc10e py api: bpy.props
new properties without any arguments were failing.
2010-02-21 12:15:38 +00:00
4cd088c19e modal python operator support. 2010-02-21 11:56:00 +00:00
ddc0c68a5c Bugfix #21234: Autokey "insert only available" userpref inserts keys for all bones in an armature
-- 

Bugfix: When autokey is enabled, notifiers to refresh the animation editors *after* transforms finished for objects were missing.
While I understand the need to limit these to not doing this during transform, after transform, this lead to lag/inconsistent UI problems.

-- 

* Added 'Damped Track' Option to 'Make Track' Operator
* Improved the code of the 'Clear Track' operator to include other types of tracking constraint too
2010-02-21 11:42:32 +00:00
02b2c2f39d bugfix [#21258] Select > Mirror causes segmentation fault. 2010-02-21 11:07:06 +00:00
f3b9ea066e Bugfix #21245: "Track to" (Ctrl + T) operator was missing notifier updates
Bugfix #21255: Clear track operator did not remove TrackTo constraints too. This could still be made to do Locked Track and other tracking constraints later too, but for now this will do.
2010-02-21 11:05:52 +00:00
e3dba7d6f4 remove pep8 warnings 2010-02-21 10:56:14 +00:00
dd04e25a14 improved euler conversion, make sure new eulers are always compatible with the previous ones, means it doesnt result in bad interpolation. 2010-02-21 10:30:39 +00:00
5dd8d10336 [#20116] calculation problem in bvh_importer.py
from Martin K (martinbk)
2010-02-21 09:43:09 +00:00
273af05c80 Emmit step size was too high 2010-02-21 08:25:14 +00:00
b602c6b5fa Better code to prevent loading scripts from .blender/scripts
Treat user defined script dir (where loading from base dir is ok) differently than system dirs, where we only want to load from specific subdirs.
2010-02-20 22:57:49 +00:00
8aa56414d2 BVH import working again.
- euler/quat rotation option
- scale, startframe options back.
- fix for adding an armature which used operators can could fail, use the data api instead.
- remove old junk
2010-02-20 22:51:36 +00:00
71125002a9 No need for this change anymore (force include to get BLO_sys_types.h in GE) 2010-02-20 22:51:22 +00:00
5589050c7e move include where it's needed and won't break other things. 2010-02-20 22:49:45 +00:00
f7d82af101 Compile fix for CMake 2010-02-20 22:38:21 +00:00
86047ac3d5 typo in to_euler() 2010-02-20 22:36:32 +00:00
1a07aa169e temp workaround for blender loading 2.4x scripts in ~/.blender/scripts 2010-02-20 22:12:27 +00:00
24827ce351 Fix compiling error on windows for mathutils commit 2010-02-20 21:01:05 +00:00
ac48efc0ab allow removing datablocks in the rare case of <0 users. 2010-02-20 20:59:30 +00:00
aa67aa9ecc Split numinput from transform (reusable in other operator).
Use in marker move operator.
2010-02-20 20:29:09 +00:00
02e7871149 Mathutils API: Euler support for rotation order.
Examples.
 euler = Euler(1, 2, 3)
 euler.order = 'ZXY'
 
 euler = matrix.to_euler('XZY')


Still missing rna support. this still wont give the right order, defaulting to XYZ.
 eul = object.rotation_euler
2010-02-20 19:49:04 +00:00
65a4dafcff fix for empty xyz axis text drawing ontop of everything. 2010-02-19 20:09:42 +00:00
96b58264ca faster function lookups, quick test through python cuts a quater the time off.
was doing an extra lookup for the functions property, as well as using the property iterator.
(every button & menu item draws does one of these for every redraw).
2010-02-19 16:31:03 +00:00
3bf2715039 apply visual transform to pose
So constrainted bones can have their transform applied to their loc/scale/rot, then remove the constraints
2010-02-19 15:34:26 +00:00
3b9fdfa9e1 dont allow linking an object into a linked scene. 2010-02-19 14:08:41 +00:00
4755ab9f80 scene_update_for_newframe was calling DAG_scene_update_flags() and BKE_animsys_evaluate_all_animation() for each set.
gain some speedup by only calling once.

minor printf changes to readfile.c, no functional change.
2010-02-19 13:13:21 +00:00
f09dc08523 Enabling AV-sync again. You can now choose between No sync, Frame Dropping or AV-sync. 2010-02-19 12:20:29 +00:00
92927e5f7d Pose Tools Cleanup:
Moved some of the generic code used to determine the F-Curves linked to PoseChannel transforms (as used by the Pose Sliding tools) into a separate file, in preparation for migration of PoseLib tools to this system too. This should make it easier to add some useful new functionality to the PoseLib browsing system (pending in a later commit).
2010-02-19 11:42:21 +00:00
f50962a689 in rare cases fcurves with no handle length can result in 0.0. check if the point matches the frame. 2010-02-18 19:43:13 +00:00
3085edf2af [#21219] Separate autocomplete text with command prompt in console
from Aurel W (aurel)
2010-02-18 17:11:12 +00:00
b5adeb922f revert 27010, sorry but this makes playback of animation unusable & jerky, we can provide some sample files for testing. 2010-02-18 17:00:24 +00:00
3142c4367c another speedup to constraint checking, skip the bone list and only lookup pose channels that have constraints. 2010-02-18 16:41:47 +00:00
f4b3d2dc9c constraints were being checked twice (once from rna property update function and once from the constraint panel callback)
comment the update call in the panel function.
also avoid one bone lookup which was taking a fair bit of CPU when profiling.
2010-02-18 16:05:01 +00:00
b896a007ea Scons fixes:
- Removing alut
- Minor changes in linux ffmpeg default config.
2010-02-18 15:59:20 +00:00
007374170b Calling AV-sync in UI to what it really is! 2010-02-18 14:37:17 +00:00
37d781b868 Basic AV Sync for forward playing. 2010-02-18 14:17:53 +00:00
8a3be98403 applying rest pose on a linked proxy would crash because object_data_is_libdata assumed proxy didnt have linked data. 2010-02-18 11:49:17 +00:00
42fd22531f constraints unique name length was set too long (could overrun the buffer), use sizeof() with other instances of BLI_uniquename too 2010-02-18 10:14:49 +00:00
cff0110d08 experemental code got mixed up in a patch. removing. 2010-02-18 09:32:24 +00:00
d4bddd84e5 Update to stubs.c to get the blenderplayer linking again. 2010-02-18 08:34:12 +00:00
0551986ff1 missed a file in previous crosscompiling related commits 2010-02-18 06:53:10 +00:00
21a2350248 Animation Playback Option (No negative frames) and Other Bugfixes:
* Added a user-preference setting which disallows setting the current frame number to a negative number. This setting only applies when setting the current frame by scrubbing the time cursor in a timeline view, or by typing a value into the current frame number field.

* Made the minimum frame number for the start frame to be 0, which should make setting keyframes by a regular step size less confusing. Also changed the MINFRAME define to 0 for consistency. Hopefully this doesn't cause any problems with any output formats. 

* Fixed some missing channel selection cases in animation editors.
2010-02-18 00:29:08 +00:00
65cac9ae13 fix for MS compliers
keep var declaration up in .c files
2010-02-17 23:04:30 +00:00
04035b81b7 [#21207] bpy.ops.object.vertex_group_sort() sorts group names, but not group data
support for vertex group sorting in editmode
2010-02-17 22:26:50 +00:00
0dc8026691 mostly fixed [#21172] Reloading scripts leaks memory (F8)
the same properties were being registered many times with built in structs.

blender memory at least is not leaking, but it seems python is still not freeing some memory.

For the moment dont allow existing properties to be registered again, will need to have a way to unregister rna properties.
2010-02-17 21:58:08 +00:00
c72ab0a39e topology based mirror, (from apricot branch)
- correct errors with non-mirrored meshes
- mirror weight paint on asymmetrical meshes
2010-02-17 19:50:42 +00:00
1a6f683b43 another attempt at fixing the VBO buffer deletion bugs 2010-02-17 18:48:02 +00:00
3c2d59e032 py/rna api property api functions crashed with empty args.
eg: bpy.props.BoolProperty()
2010-02-17 17:22:39 +00:00
780aa24dfe Netrender was reloading classes multiple times 2010-02-17 17:16:04 +00:00
576b0d9777 join as UVs referenced older api function name 2010-02-17 16:31:37 +00:00
a4ed376d3e Object's RNA cleanups, made descriptions clearer, mostly aesthetic changes. Anyone who finds these incorrect feel free to change or make me notice. 2010-02-17 16:18:41 +00:00
9c8406ea5d *Removed a lingering 'Add' prefix in the Add menu to make it more consistent.
*Added Extrude Region/Individual to the Mesh menu
2010-02-17 16:04:06 +00:00
79b7234c5e rename rna props for auto-keying to be consistant, user prefs were graying out auto key options that were still in use. 2010-02-17 15:14:09 +00:00
f5c9574e68 remove duplicate function. 2010-02-17 14:09:16 +00:00
712e8c6a5c fix for negative frames messing up image sequence name. 2010-02-17 13:43:50 +00:00
b9da824821 [#21197] change layer of just linked in objects lets them vanish
missing undo push in file selector.
2010-02-17 12:21:38 +00:00
7790780006 Animation Editors: DopeSheet filter for Object-level animation
Added a new option to filter the out Object-level (i.e. transforms, object visibility/settings, and also bone animation) animation data from the channels list. As most of these settings are transforms, I've used the transform manipulator icon and named the RNA setting display_transforms. 

This is useful when trying to filter out only material animation data for example, as requested by Colin.
2010-02-17 12:03:23 +00:00
2eeef0ba7b Remove some unfinished code I accidentally commit for render thread safety. 2010-02-17 11:35:20 +00:00
30d01cf240 Cleanup tweaks:
1) Decreased the alpha value for unselected F-Curves in the Graph Editor, making them more invisible to help make the selected ones stand out more.

2) Removed various outdated settings from pose bone RNA
2010-02-17 10:23:14 +00:00
a6e1998222 Animation Editors - Texture Animation:
Texture animation is now shown in the animation editors. Texture stacks are shown for each Material/Lamp/World block that uses them.

There is currently still a bit of a bug with this which means that unless the owner of the texture stack is animated too, the animation data for the textures won't show up. This will get rectified soon though.
2010-02-17 10:21:07 +00:00
c011bbbdb9 Added separate entries for Extrude Region and Extrude Individual in the mesh toolbar. 2010-02-17 09:33:58 +00:00
961207e631 Align Object op: ignore objects other than Mesh type 2010-02-17 08:57:40 +00:00
f075308d20 Fill bones between joints (FKEY) was missing a suitable notifier. 2010-02-16 23:51:49 +00:00
df4d7b041e fix for make proxy, was checking dupligroup when it wasnt needed. 2010-02-16 19:41:44 +00:00
0b3dfc441e pyrna, adding back foreach functions from collections. they are needed! 2010-02-16 19:27:38 +00:00
ad01c90ee3 Revert render slots commit for release, I can't find the bug or even redo
it myself, there will still be render slots just old implementation.
2010-02-16 19:24:04 +00:00
a4c010975a extension copying operator and fix in displaying extensions with no docstring 2010-02-16 19:22:37 +00:00
f809cb6fcb Last minute fixes for render crash. 2010-02-16 18:58:15 +00:00
eb7d8651f1 2.51: second commit, splash png and Makefile fix 2010-02-16 18:16:54 +00:00
8ca226a3ef 2.51 (2.5 alpha 1) first commit. With original durian render even! 2010-02-16 18:15:26 +00:00
7e5d27502c compile fixes for MSVC!
* function must return value!
* missing _USE_MATH_DEFINES for M_PI
2010-02-16 18:12:44 +00:00
4405b01586 minor adjustment to BLI_uniquename, the last extension is used so "A.B.001" --> "A.B.002" rather then "A.001" 2010-02-16 18:03:10 +00:00
57308d8382 [#21102] Nonunique ID names in sequencer!
now uniqute names are ensured with recursive name checking on the scene
2010-02-16 17:58:50 +00:00
24a0eececf Fix user preferences window contents being shifted to the left. 2010-02-16 17:07:06 +00:00
aefe9be5db [#18961] Use const char * where appropriate (2.5)
from Sean Bartell (wtachi) 

added own changes bpy_props.c
2010-02-16 16:47:41 +00:00
ed540dd1f1 Cocoa : mem leak fix
This fixes the mem leak part of bug report #21186
2010-02-16 16:38:29 +00:00
2036a2638e [#21182] Make proxy for object without group crash Blender.
from Banlu Kemiyatorn (suchness), modified with more error messages.
2010-02-16 16:32:25 +00:00
bc9b873f60 bugfix [#20480] crash/lock-up for certain aspect ratios 2010-02-16 15:59:36 +00:00
2061f91741 Render Slots: change the implementation by moving it from the render to the
image code, this should be clearer and makes reusing the Render struct later
on easier.
2010-02-16 15:49:22 +00:00
bd638da9a0 Texture Nodes:
* Remove the manual OSA method but rather pass on derivatives to the
  textures. This means that at the moment e.g. the bricks node is not
  antialiased, but that image textures are now using mipmaps. Doing
  oversampling on the whole nodetree is convenient but it is really
  the individual textures that can do filtering best and quickest.
* Image textures in a texture node tree were not color corrected and
  did not support 2d mapping, now it's passing along shadeinput to
  make this possible. Would like to avoid this but not sure how.
* Fix preview not filling in all pixels when scaling or rotating in
  the texture nodes.
2010-02-16 15:45:19 +00:00
768f20d537 update for missing docs & dont include operator classes in sphinx docs. 2010-02-16 15:01:34 +00:00
56b8e37864 bugfix [#20938] Moving shape keys doest not correct the blend basis. 2010-02-16 13:57:23 +00:00
a789942219 ignore scripts that are loaded twice rather then raising an error. 2010-02-16 13:13:22 +00:00
62e7e0ce77 Cocoa: bugfix [#21158] fix modifiers keys status upon gaining focus
10.6 new function to get modifiers flags status asynchronously returns erroneous value when application gets focus after a virtual desktop switch (Spaces).
Use legacy method to retrieve the modifiers flags status sent with the last  event. Works as at least the "focus gained" event is sent before this query. Bonus: should work also on pre-10.6!
2010-02-16 13:09:03 +00:00
046bf7a6a1 bugfix [#21167] subsurf+some modifier+ 2 material FAIL
constructive modifiers after subsurf ignored face materials.
2010-02-16 10:36:17 +00:00
43af6fdae1 Quick patch from phonybone: Fix for double allocation of colorbands 2010-02-16 10:12:05 +00:00
9a6332bea9 bugfix [#21161] Multiresolution Reshape causes crash
disallow reshape running when the multires mesh isnt available.
2010-02-16 10:06:44 +00:00
23efeff6a9 [#21177] Text editor
Running scripts directly didnt call the register function, even though this is not essential its good to be able to run a script directly and see changes in the UI.
2010-02-16 09:55:07 +00:00
df60ff553d OSX/deprecated Carbon: user and system base dirs retrieval implementation
As Carbon is bound to RIP, implemented only a static version of these retrieval functions.
2010-02-16 08:57:05 +00:00
1c0fa083b1 Cocoa: user and system base dirs retrieval implementation 2010-02-16 08:36:33 +00:00
1d914556f8 Missing flag to Curve Shrink Fatten transform 2010-02-16 01:42:34 +00:00
66f695653b Self tsk. Too much copy paste. 2010-02-16 01:12:21 +00:00
54765dfb31 Tsk! 2010-02-16 00:55:13 +00:00
d8ce09ce53 bugfix [#21173] Autocompleate raises an error
split PropertyRNA off into 3 types, base type, collection and array, since array and collections needed internal checks inside almost every function its better to have the, as subclassed to the property type. This makes introspection more useful.

Also made printing of structs and properties prettier giveing type and length.
2010-02-15 23:43:51 +00:00
80bb824929 System dependant functions (skeletons) to retrieve user and system base dirs.
Thus #defines in BLI_bfile.c can be dropped, as suggested by Damien Plisson.
Feel free to fill in the non Unix ones. For extra info see:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/ResourceFilePaths
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/EnvironmentVariables
2010-02-15 22:50:53 +00:00
88a2f63c1e bugfix [#21136] End frame And Cur Frame setting is broken with Metric/Imperial units [26876]
and minor changes for unit.c, no functional change.
2010-02-15 21:07:14 +00:00
e9313749a1 bugfix [#20920] crash when render without camera and clicking into histogram (p) 2010-02-15 20:41:39 +00:00
866ecdebe7 added some more error checking for buffer allocation and fixed it up a bit. Hopefully this won't introduce new bugs and fix old ones. 2010-02-15 19:09:59 +00:00
c5bcbad779 Proxy ID property syncing
This means pose bones on proxy poses can have their own values as long as the name and type matches that of the library pose bone.
without this the only way to add new values on a pose bone proxy is to protect in the lib, reload the proxy blend and save.
2010-02-15 18:43:54 +00:00
50cd69d8d9 Test code for Brecht:
Added a function that quickly extracts a full main dbase from an undo buffer,
to pass on to render code. This will efficiently then make a render using only
own memory, allowing real threading and running multiple renders at once.
2010-02-15 18:36:06 +00:00
27654953b1 Rigify:
Added a tail control rig.
For now, you have to manually hook the resulting controls up to a separate spline IK rig that you make by hand.  Perhaps this can be automated in the future.
For anyone using this: keep in mind that you need separate armatures for the tail deformation bones and tail control bones.  Otherwise you create a cyclic dependency like so:
tail deform bones <- spline object <- tail control bones
2010-02-15 16:46:24 +00:00
9bd50214d3 Fix artifacts in bump map render with Object coordinates. Float precision
is problematic here with coordinates being transform by matrix and back by
inverse, so tweaked the epsilons to avoid the problem.
2010-02-15 16:45:45 +00:00
b3d41ac144 Merge -c 26897,26932 from COLLADA branch into trunk. 2010-02-15 16:18:21 +00:00
7f8fbda806 Fix #21116: wrong shortcut key in view navigation menu. 2010-02-15 14:15:34 +00:00
643cf58688 rigify panel, ignore removing a bones type when its not found 2010-02-15 13:30:26 +00:00
0fd7fb50d9 Fix #21073: toggling image premultiply did not reload image. 2010-02-15 12:59:58 +00:00
5e58daa098 Fix #21078: image paint undo didn't work correct with wrap option, moved
wrapping code to paint_image.c so it can be used for the undo push.
2010-02-15 12:57:16 +00:00
c864df6cfe support for camera shift with UV camera project. 2010-02-15 12:50:10 +00:00
37858fd435 make it so an error registering/unregestering wont stop loading scripts, just print the error and continue 2010-02-15 12:43:25 +00:00
1c24096de8 Patch: [#20408] Bugfix GLSL shading with VBO
Thank you, Andre Tibben, for the fix.
2010-02-15 12:35:32 +00:00
882af97b4b classes were having their dictionary cleared when the blender extension data was freed which made re-registering fail.
now extensions can be enabled and disabled without having to reload them.
2010-02-15 11:24:43 +00:00
536e448e7a [#21141] boring segfault on F8/"reload scripts", 26878, backtrace
reloading bpy_types was causing reload to fail. also unregister all modules in the reverse order that they were loaded, so when reloading removed files done hang around.
2010-02-15 10:54:51 +00:00
1d5fe11a62 OSX/CMake : fix ffmpeg include path 2010-02-15 10:38:47 +00:00
ea69d2d37a OSX/Scons cleanup : remove option to build with extern/ffmpeg and old python 2.5 options 2010-02-15 10:10:30 +00:00
bd7bfff682 bug #21160, misspell in align objects operator 2010-02-15 10:06:27 +00:00
957baf7d6a Inline tooltips and descriptions of export/import
Random fixes and tweaks in names and tooltips
2010-02-15 09:53:02 +00:00
38298d2c22 Fix memory leak "dist table" in node curve mapping. 2010-02-15 09:13:07 +00:00
f41660cfd0 GLSL: fix some notifiers for scene settings and remove unneeded check. 2010-02-15 09:03:22 +00:00
ea8b072b75 [#21023] 2 Dynamic loading patches (one bugfix, one feature)
patch from Mitchell Stokes (moguri), only the bugfix part for now.
2010-02-15 09:01:52 +00:00
83fd3fbb43 copy animdata and id-props when copying material node tree's to avoid double memory frees or node trees sharing animdata when they shouldnt. 2010-02-15 08:50:04 +00:00
12cd5617ea Fix very long render time when using a large filter size with the new
image sample code. I've added a dumb clamping now of dxt/dyt, probably
could use a smarter solution but it's not likely to be noticeable.
2010-02-15 08:29:01 +00:00
aaf5f5d470 rename euler_filter.py -> fcurve_euler_filter.py
check if the .Blog file exists rather then using an exception.
2010-02-15 08:17:57 +00:00
d300c28e74 Align Object op: Introducing Align Modes Negative Sides / Centers /
Positive Sides. Not the most beautiful code ever but will beautify after everything is
implemented
2010-02-15 06:01:13 +00:00
1f3faf0591 Fix compile error on 64bit (padding error in inline struct) 2010-02-15 03:29:51 +00:00
10ddcb0491 DNA Compile fix for my recent theme commit. 2010-02-15 03:07:09 +00:00
dbb6c54862 Netrender:
* Added File Path Button for the "path" property.
2010-02-15 02:53:36 +00:00
6753411adb Console:
* Added own theme support for the cursor, was depending on the line_error color before.
2010-02-15 02:39:40 +00:00
9f7a412511 File > Open recent raised an error when there was no .Blog file. Now it prints an info. 2010-02-15 01:42:51 +00:00
d820322680 Updating the readme.html to match the upcoming Alpha 1 release. 2010-02-15 01:28:15 +00:00
fece4fd610 Bugfix for the new script register functions, scene tab didn't show Panels due to missing classes. 2010-02-15 01:22:34 +00:00
677386e53a initial support for extensions in the user preferences
only one script at the moment:
 [#20848] Blender Gears for 2.5 (for ideasman42)
 from Michel Anders (varkenvarken)
2010-02-14 23:33:18 +00:00
9b3ac70b6d prepare to remove ffmpeg stuff in extern 2010-02-14 18:59:26 +00:00
cc948f13c0 == FFMPEG ==
Made using system's ffmpeg the default now. (First step in removing
ffmpeg from extern)
2010-02-14 18:52:27 +00:00
190d84a08b Flac encoding now working. Thanks peter schlaile for the help! 2010-02-14 15:38:05 +00:00
cd3c70cca2 Fix #20400: hair particles do not render when in "particle mode"
if children present.
2010-02-14 15:11:39 +00:00
32aea49b6d Fix #20171: properties of hair are not animateable. 2010-02-14 14:37:26 +00:00
be575aa3a0 Fix #20282: particle normal force can be animated but not driven. 2010-02-14 14:18:23 +00:00
3de9280ecf Fix #21150: duplicating an empty could crash. 2010-02-14 13:51:05 +00:00
3fbc277093 mistake in register() commit, mixed up import and export 2010-02-14 12:45:03 +00:00
3871cb78bc autocompete was matching import_foo as import keyword.
breaking autocomp. on import_scene_obj for eg.
2010-02-14 12:23:25 +00:00
39c04315e2 change python scripts so modules which register with blender have a register() function rather then making import automatically run the register functions (generally considered bad practice by python people) 2010-02-14 11:21:21 +00:00
b02f78ed02 Using multiline descriptions like this:
"""                                                                                              
    Fixes the most common causes of gimbal lock in the fcurves of                                    
    the active bone.                                                                                 
    """
is causing bad glitches (boxy characters) on the tooltips..
2010-02-14 07:05:50 +00:00
4d218824c5 Better tooltips and button name in some case in file browser 2010-02-14 06:18:17 +00:00
a81030a95e Added a euler filter script, to filter out discontineouities in euler curves (e.g. where curves randomly have -/+ multiples of 360 offsets in sections). To use, select a curve in the fcurve editor and do Channel->Discontinuity (Euler) Filter. Note, will only work on euler rotation curves, won't do anything on anything else. 2010-02-14 03:18:43 +00:00
8f0b1acae2 Align Objects operator: Added align relative to Active object 2010-02-13 23:29:26 +00:00
d0d47c70a9 Avoid a DNA parsing bug that would parse "float gravity [3];" as two
struct members "gravity" and "[3]". Now it throws an error in this case,
safer than trying to fix the parsing code. Also patches the old DNA of
ClothSimSettings which had this problem .. very ugly code.

Fixes #20330: cloth sim settings getting corrupted when read from 2.49.
2010-02-13 23:18:28 +00:00
ce26d457ba Support GPU image auto_refresh also for movie (was for sequence only). 2010-02-13 21:24:13 +00:00
36520e20c7 - Extrude Menu call "extrude regions along normals" for Region option
- Extrude Menu not longer restricted by selection mode, only selection totals (will show all possible options for the selection, regardless of selection mode)
- Missing operator descriptions
2010-02-13 20:08:54 +00:00
5d9fcfb3ec Copy vertex normals on extrude (Normal orientation is wrong otherwise when not extruding faces). 2010-02-13 20:06:56 +00:00
3917691297 [#21130] Fix segmentation fault when adding Empty object in Blender rev26870
from Sergey Sharybin (nazgul)
2010-02-13 15:50:46 +00:00
0988f65146 fix for blenderplayer building. 2010-02-13 14:18:54 +00:00
4eb629c696 own error in recent commit. 2010-02-13 14:05:04 +00:00
d125f17db8 Fix #19736: GLSL viewport materials are not updated on all changes. 2010-02-13 13:49:27 +00:00
39c3ebdc91 fix for memory leak: node animation data wasnt being free'd
also some corrections to memory debug stuff.
2010-02-13 13:38:10 +00:00
4be8384e27 Fix #20391: onlyshadow material doesn't render transparent shadows.
Fix #21033: AO + onlyshadow problem. Reverting to the old behavior which
I don't really understand, but at least it's compatible.
2010-02-13 13:17:15 +00:00
b673f7318c Added support for animated texture draw, GLSL textures.
Note, this is not like GE ffmpg, but Blender Image Texture
display for GLSL materials. Speed can be disappointing,
use smaller images for realtime edits.
2010-02-13 13:09:30 +00:00
c1ee920db6 simple malloc counter for debugging. disabled so no functional change.
Use when memory isnt being freed to easily set a breakpoint the Nth allocation.
2010-02-13 13:09:06 +00:00
e92b5292c8 print blend file loading, because...
- Often need to open a file that just crashed/hung in valgrind or gdb
- Sometimes need to commit a blend that was just opened and blender has no fast way to get the blend file in the clipboard.

since libraries also print in the console, dont see any problems with adding this.
2010-02-13 12:41:58 +00:00
9250f15f74 Fix #20378: object modifier property drivers not updating. 2010-02-13 12:16:33 +00:00
6c9aa76d21 revert joes commit and apply change from Aligorith.
remove scripts dir only.
2010-02-13 10:55:04 +00:00
ea8c807db0 ideasman/brecht: please don't touch this again. this clears the .blender folder along with everything else; oddly enough it left in the .B25.blend, but bookmarks/recent file lists were nuked. anyway, I just made the install folder deletion off by default. if you must do it, do it on the build systems you yourselves use/maintain, don't touch scons. 2010-02-13 10:05:06 +00:00
ac7f0ac606 fixing cuckoo bugs
- no i really don't like abusing group indexes (would like to have written indices .. but spell checker complains  SIGH )
anyhow 
lattices and curves do not care for ambiguous vertex group index any more
just take weights as they are set
2010-02-13 00:52:01 +00:00
33b1cbf06d Smart Extrude (hotkeys are tentative)
Ekey: Extrude Region
	Based on selection totals:
		Extrude region along normal if at least one face selected
		Extrude vertex along normal if only one vertex selected (experimental)
		Extrude edge on its plane if only one edge selected (experimental)
		Extrude with no constraint axis otherwise

Shift-Ekey: Extrude Individual
	Based on selection modes and selection totals
		Individual Faces if face select and some faces are selected
		Individual Edges if edge select and some edges are selected
		Individual Vertice otherwise
		
Alt-Ekey: Extrude Menu (only shows valid options for selection mode and selection totals)
2010-02-12 22:13:47 +00:00
e77cf5e92e Mesh selection totals in RNA (patch by Campbell) 2010-02-12 22:03:23 +00:00
5c9f10f673 Remove debug print 2010-02-12 22:02:10 +00:00
e205acdbaa strip quotes from Buildinfo for bpy.app.build_* 2010-02-12 21:45:47 +00:00
c7662c1cf7 Calling operators from Python with non-default context was broken (need to assign to the right variable). 2010-02-12 21:40:46 +00:00
533ed7cdaa Python deprcated PyCObject, use PyCapsule instead. 2010-02-12 21:14:01 +00:00
b43f107195 Merge -c 26848 from COLLADA branch into trunk. 2010-02-12 20:32:36 +00:00
6f5988412a [#21109] export doesnt create *.3ds file when requested 2010-02-12 17:07:57 +00:00
3188089dc1 [#21121] Limit to visible don't works well in Face mode
dont draw face dots when drawing backbuffer
2010-02-12 16:48:04 +00:00
4b4cb7f9c1 bugfix [#21090] Crash because of slow USB drive
missing NULL check
2010-02-12 16:26:35 +00:00
0e40d71fb0 [#21123] Refresh screen after applying click in WM_gesture_circle_modal()
patch from Sergey Sharybin (nazgul)
2010-02-12 15:33:32 +00:00
8497b2f851 typo in zeroing a vector 2010-02-12 14:46:04 +00:00
6ff1883094 fix use of uninitialized vars with the color wheel. 2010-02-12 14:34:08 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
a62d70c56f use a more direct way to get the active UV and VCol layer 2010-02-12 12:57:58 +00:00
606398fa2f scons option - WITHOUT_BF_OVERWRITE_INSTALL
only use this if your not making packages for others.
2010-02-12 12:29:39 +00:00
c3f4838109 Lowering latency of jack a little depending on buffer size. 2010-02-12 11:59:07 +00:00
bd88fb372f Bugfixes:
1) Summary channel in DopeSheet was using uninitialised color for backdrop, resulting in weird/wrong colours
2) Commented out the view2d hotkeys added earlier, since they currently cause some conflicts for animation editor hotkeys (namely NLA)
2010-02-12 11:48:55 +00:00
912fdcacab button to save edited textures in texture paint 2010-02-12 11:34:25 +00:00
9e652ce6bb fix for depth drawing + clipping 2010-02-12 11:03:41 +00:00
f97db86139 Quicky View2D commit:
Page Up/Down hotkeys for working with scrolling View2D views
2010-02-12 10:20:11 +00:00
d26e71c2f0 FModifier drawing typo:
All F-Modifiers were had their RNA pointers initialised as "Function Generator" modifiers when drawing.
2010-02-12 09:42:34 +00:00
97c70ee593 Tweak to the changes from r26820 (nuking scons install directory):
Those changes made developing Blender using scons as buildsystem impractical. They were nuking my various configs everytime I compiled resulting in a long wait for all the files to get copied over again at the end, or else I'd have to manually go scouting out files to copy over. 

Now, made this only nuke the scripts directory there which IMO solves the main issues that the original commit intended to solve (outdated scripts lingering in that folder, and mixing with the new ones). 

If there are complaints that only doing the scripts dir is not enough, then we better just make this destructive stuff an optional thing (i.e. by default, nuking will still occur, but at least developers can disable)
2010-02-12 09:18:10 +00:00
bb4f77ffe3 Align Objects operator: added selection center as align center 2010-02-12 05:02:29 +00:00
Dalai Felinto
2541429ded BGE: linear velocity and angular velocity are attributes now
... what lead me to wonder if we should remove obj.setAngularVelocity, obj.setLinearVelocity, obj.getLinearVelocity and obj.getAngularVelocity.

* this was so Copy and Paste ... anyways tests are welcome (I never used those methods in python myself).
2010-02-12 03:40:28 +00:00
61d7e4a51e Bugfix #21094:
Inserting keyframes for properties that don't already have F-Curves shouldn't occur if auto keyframing is set to 'replace' only (i.e. see timeline -> frame -> autokey mode menu for details).
2010-02-12 01:06:18 +00:00
6b01ab5e23 Align Objects operator: adds option to align relative to 3D cursor as
well as Scene Origin
2010-02-12 01:03:22 +00:00
b482b8543e Bugfix #21051: Restored 'Playback FPS'
This commit restores the 'Playback FPS' option which showed an indicator of the frame rate of animation playback in the 3D-View.

The info for this is now stored in a temp struct in scene data, with the status info being updated by the "animation step" operator instead of relying on globals as the old code did. This seems a lot more stable than in 2.49, but the accuracy is still questionable.
2010-02-12 00:44:26 +00:00
f0e873cabe New Align Objects operator. Currently it has very little functionality but
already does alignment operations that are very hard to do manually
2010-02-11 23:27:34 +00:00
bc5f81ee3c Clean up of tooltips in py operators and better operator name for
randomize transform
2010-02-11 23:13:47 +00:00
51cc200fa3 another vc9 projectfile fix 2010-02-11 22:28:51 +00:00
88226d02e9 updated VC9 project files 2010-02-11 22:05:54 +00:00
6c775defd4 Clear scons installation directory when WITHOUT_BF_INSTALL is disabled.
After discussion with Brecht and Martin we agree this is best long term.

Also fixed "scons blenderlite" for python and fluid.
2010-02-11 22:02:27 +00:00
778cac6c54 2010-02-11 21:55:07 +00:00
157a694607 - select active camera operator
- calling menu use exec rather then invoke
2010-02-11 21:17:05 +00:00
ac8b22ab2d Fix for a glitch in a console tooltip 2010-02-11 20:33:04 +00:00
1c4c833c86 2.5 Audio: The jack backend is now realtime capable and will not produce so much xruns anymore. :-) 2010-02-11 20:09:45 +00:00
611a5595f9 fix for flag being used in the wrong place with recent ApproxAO option. 2010-02-11 18:36:47 +00:00
39cccd2a90 Line up RNA property with the rest of space 2010-02-11 17:41:17 +00:00
9f3563fa94 Compile fix 2010-02-11 17:27:43 +00:00
08d3741980 fix for crash when running in background mode and adjusting materials 2010-02-11 16:54:25 +00:00
6286e41514 Theme support for console background. Thx cam for help! 2010-02-11 16:28:31 +00:00
9ee81473f8 Fix #20139: toggling mipmaps in user preferences did not refresh textures. 2010-02-11 15:45:19 +00:00
d98603129c Added an option "Cast Approximate" to control if a material should cast
shadow when using approximate AO, separate from "Traceable".
2010-02-11 15:43:31 +00:00
4746fbd8ce COLLADA exporter (in trunk): write 1 normal per flat face instead of 3 or 4. 2010-02-11 14:53:29 +00:00
3c5b476d1f fix for own mistake [#21088] comb mode broken? 2010-02-11 14:24:45 +00:00
8f4c340915 bpy.utils.home_paths, use this to get script paths for the user/local/system blender paths. 2010-02-11 14:08:22 +00:00
a2b94de539 [#21095] r26789 'copy vertex group to selected' crash blender 2010-02-11 10:41:11 +00:00
0932402244 panorama UV projection, only when projected from a camera with panorama enabled, ortho and perspective supported, camera aspect ignored at the moment.
also fixed bugs ortho camera projection which wasnt ever used and had the ortho camera size inverted.
2010-02-11 10:25:24 +00:00
e2ba857b0f console needs a background color, can use instead of padding. 2010-02-11 09:03:43 +00:00
d3ce198cd5 Padding fix by phonybone. 2010-02-11 08:52:22 +00:00
65d533bc77 scons linux config: only BF_OPENCOLLADA needs to be user-set, BF_OPENCOLLADA_INC is derived. 2010-02-11 08:47:33 +00:00
Dalai Felinto
3189732ab6 BGE: rna update for Logic Bricks
New Actuators done:
* EDIT_OBJECT
* SHAPE_ACTION

Actuators to be done:
* CONSTRAINT

Actuators done already:
* ALL THE OTHERS 16

+ some DNA padding

There is one Actuator left. This one is tricky because (as many others) the tooltip changes according to the actuator type value. Not sure how to solve this yet. I'll probably have to make different rna properties for the same values (it includes some enums this time). Not so animated to finish this one :/
2010-02-11 06:00:16 +00:00
Dalai Felinto
0119072fc3 BGE API DOC update - scene add/restart/end. patch by Gomer 2010-02-11 04:24:58 +00:00
d65101629d Added theme support for vertex normals display alongside face normals.
This makes having both enabled at the same time actually useful!

http://www.pasteall.org/pic/show.php?id=1265
2010-02-11 03:37:51 +00:00
15ef07d684 More tooltip editing 2010-02-11 02:03:18 +00:00
78faeb73b8 Operation Dot-Kill finished 2010-02-11 01:11:52 +00:00
367037b445 Removing more dots 2010-02-11 00:33:01 +00:00
f2f4981726 Bugfix for [#21086] Audio continues to play unsynced. 2010-02-10 23:15:12 +00:00
526da4f686 Killing more dots! 2010-02-10 22:18:00 +00:00
148435b70a batch remove .'s used with RNA_def_struct_ui_text 2010-02-10 21:15:44 +00:00
577bfb4e71 Bugfix #21081: auto ik option not work for proxy object
Several properties of armatures were being checked for proxy-suitability with too-harsh criteria. Softened this on a few properties to make them usable again.
2010-02-10 21:00:41 +00:00
0c25549e5c Increased camera angle to allow for the wildest super telephoto lenses
Sincronized millimeters - angle limits
Better tooltips
Removed dots at end of tooltips in camera rna file too (as discused with
Ton and DingTo on irc)
2010-02-10 20:41:01 +00:00
8ec4dee13e object bound box access from rna 2010-02-10 20:29:40 +00:00
72712b6725 UV project didnt use the view3d's camera (only the scenes) 2010-02-10 19:22:09 +00:00
111036dbc6 Hide particle angular velocity ammount if velocity mode is 'None' 2010-02-10 19:14:49 +00:00
3596768721 Missing tooltips for Start frame and End frame
Removing all dots at the end of tooltips in screen_ops.c
2010-02-10 18:47:55 +00:00
e83199bf9b Changed fields Odd / Even terminology to more standard Upper First /
Lower First like in AE and other mainstream apps
http://www.pasteall.org/pic/show.php?id=1255

The new consensus is no dots at the end of tooltips so removed all of
them on image and scene rna files
2010-02-10 18:29:58 +00:00
ac45c743f8 realtime updates in the graph editor were updating all visible fcurves, update all selected fcurves instead. 2010-02-10 18:22:55 +00:00
226fb2b377 revert previous commit, this should fix without disabling cases that worked before. 2010-02-10 18:05:52 +00:00
2fe216b706 Fix for [#21082] UI not updated immediately for Graphical cursor and change object's name 2010-02-10 17:38:58 +00:00
bcae5e2e62 fix for crash in sequencer when sequebce data cant be read. 2010-02-10 17:28:46 +00:00
c2b8626856 Fix for bug [#21015] Render Panel Presets do not remember fields
setting. New presets will remember field settings but I didnt change
existing presets since I think this could be dangerous.
2010-02-10 16:43:43 +00:00
19b5cc3d16 make dupliface rotation was wrong. 2010-02-10 16:40:02 +00:00
f6fe654546 Tooltip fix for "raytrace_transparency", patch by Oxben. 2010-02-10 16:16:57 +00:00
358c956637 make dupliface operator (access from object menu)
scene.object.link() now returns the new ObjectBase
2010-02-10 16:10:47 +00:00
5df1bb84d8 Fix crash in copying constraints for proxy. 2010-02-10 14:47:39 +00:00
586acf21a7 Cocoa : use Cocoa NSWindow tag for identifying the window where a mouse/tablet/key event happened => enables some actions in inactive windows as per OSX standard
Previous code was assuming an event can only be sent from the active window.
On OSX, Right, Middle mouse buttons, mouse wheel and trackpad events are sent to inactive windows too.

For example, this allows to zoom, pan the view without changing the window order.
2010-02-10 14:16:02 +00:00
bed4c49a79 OSX/scons : fine tune Intel archs optimization flags 2010-02-10 13:25:50 +00:00
c2b2ccde45 fix for python not being able to call operators with a executuon context. 2010-02-10 11:10:38 +00:00
fbc201d2dd Committing a little note of a bug that isn't quite so easy to fix yet with groups+visibility operator (anim channels). 2010-02-10 09:53:55 +00:00
2b857baeca [#20958] API: crash on mesh.update() if I unlink and link meshes with the same name twice 2010-02-10 09:30:22 +00:00
aeda6078c4 3ds importer - fixed some warnings about various properties required for the fileselect operator stuff not being present 2010-02-10 09:18:49 +00:00
eabb8e2942 rename Nurb to Spline in RNA since Nurb also stores bezier and poly lines. 2010-02-10 08:53:08 +00:00
f07efaf124 Can't hardcode hotkey in description if it can be changed in a keymap. 2010-02-10 03:41:20 +00:00
491f9b7cbb Bugfix: 3DS Importer not settings UV's correctly
Thanks to example .3ds file and bug report from stridernzl.

1) The API function for adding textures to meshes was not working correctly, resulting in a Null texture slot being created (i.e. a texture slot was created, but the given texture could never be assigned to this). 
Fixed by making the function always require a texture as input (as with other places that use pointers as arguments).

2) In "Textured" draw mode, the imported meshes were shown white (i.e. without any textures). 
It appears that that the old old setting (mesh.faceUV) is no longer valid/wrapped in RNA, so worked around this by setting the 'tex' setting for UV-faces on. From the UI, this seems to do the same thing as entering editmode and assigning an image to the faces from the image editor.

---

I've also removed a few lines of commented 2.4x code that is no longer valid. Hopefully there wasn't anything too valuable that I accidentally removed in this process ;)
2010-02-10 01:55:45 +00:00
af563d474f More limits, step size and default changes to particle settings (and
some tooltips)
2010-02-10 01:54:32 +00:00
208b6cd46a Fixing broken tooltip in snapping's project button 2010-02-09 23:33:24 +00:00
d376ae6276 More informative tooltip for Snapping button 2010-02-09 22:32:26 +00:00
f22104542b copy vgroups to selected objects as long as they have aligned arrays.
access in the vertex group panel menu.
2010-02-09 22:00:19 +00:00
59a508d00b Bugfix #20903: Concitency issues between point and click and Tab Key in the Graph Editor
- 'Toggle' operators for channel settings now now act more like the select-all type of "toggle" operator. The old behaviour has now been moved to "invert".

- Channel settings are now flushed (like for visibility and when clicking) for muting and locking when using the operators
2010-02-09 21:22:24 +00:00
Dalai Felinto
d2e41b38df BGE: rna update for Logic Bricks
New Actuators done:
* OBJECT (aka MOTION)
* SOUND
* PROPERTY
* CONSTRAINT
* EDIT_OBJECT
* ACTION
* STATE
* ARMATURE

Actuators to be done:
* CONSTRAINT
* EDIT_OBJECT
* SHAPE_ACTION

Actuators done already:
* IPO
* CAMERA
* SCENE
* RANDOM
* MESSAGE
* GAME
* VISIBILITY
* TWODFILTER
* PARENT

once again: feedback is appreciated.
+ some typos
+ some DNA padding

Thanks for Mitchell Stokes (Moguri) for his patch on that. It saved me some time on the ENUMs and some actuator descriptions :)
2010-02-09 21:18:50 +00:00
6d833bced2 Better default resolutions for UV Sphere and Torus primitives (nice square
faces)
Torus is generated flat shaded like the rest of primitives for easier
tweaking of resolution and consistency with the rest of the primitives
2010-02-09 21:05:59 +00:00
68bb7e38ab MSVC projectfiles vc9
* fix for audio: added missing defines for WITH_OPENAL, WITH_JACK, WITH_SDL
* fixed linking for OpenAl, was still linking OpenAl32.dll instead of wrap_oal.dll
Should now work same as other buildsystems. 
Quick test showed Yay! Sound in sequencer back :)
2010-02-09 20:10:55 +00:00
4768c33dbb bugfix [#21055] Python: accessing ParticleEdit.hair causes segmentation violation 2010-02-09 20:03:05 +00:00
0d2b080358 Forgot to commit this file. 2010-02-09 19:59:07 +00:00
10240261e9 J-key render switching back, now with 10 slots.
Implementation note: this was done by giving each Render a slot number,
and for every slot a new Render will be created. Not sure if this is
ideal, but it ensures that all passes, render info, etc are separate so
you can also compare render layers and passes, in 2.4x only whatever it
was currently displaying was backed up.
2010-02-09 19:37:37 +00:00
52b1c37645 [#21039] OBJ import Clamp Scale limited to .01 as lowest Value. Used to be Zero
[#21053] 2.5alpha0 export obj problem
+ some minor changes.
2010-02-09 19:22:57 +00:00
f577c4bb7f bugfix [#21057] Python: accessing DriverVariable targets causes segmentation violation
collections were detected as arrays.
2010-02-09 19:20:12 +00:00
82825d5c93 [#21067] Weight painting doesn't work with mirror modifier enabled. 2010-02-09 18:06:57 +00:00
4520bc6edd Tooltips tweaks 3d to 3D 2010-02-09 17:50:56 +00:00
346e45d6af wkey - weld in UV window 2010-02-09 16:36:44 +00:00
72f44ee2a5 Soft limits and better hard limits to particle properties 2010-02-09 16:28:00 +00:00
d5b3db4deb Adding soft limits and better hard limits to relevant camera properties
wohooo first commit! :D
2010-02-09 16:05:12 +00:00
f082c7be05 add access to edge select tagging from mesh toolbar (tagging seams on Ctrl+RMB) 2010-02-09 15:48:34 +00:00
ce38137449 Shadow Buffers:
* Bugfix, rasterization was shifted half a pixel.
* Remove scaling of bias by render size, there is something to be
  said for doing to compensate for lower shadow buffer xy resolution,
  however the z-resolution does not change and this seems to have a
  larger effect.
* Remove clamping of filter size by soft factor. Now it is clamped to
  1 pixel instead to ensure there is some AA. Why this was done this
  way is not clear to me, however on decreasing shadow buffer resolution
  this would change the softness by increasing the filter size.
2010-02-09 13:58:07 +00:00
7d2d5c990f fix for uninitialized mempool variable. 2010-02-09 12:06:04 +00:00
3f529256eb More bugfixes for setting visibility of anim channels using VKEY:
* Fixed problem where selecting an individual F-Curve would not set the selection correctly. 
Group channels still needed a separate selection check before they get included in the filtered list. I had removed this in an earlier fixing commit today, but overlooked that expanded groups wouldn't get this check. Therefore, group channels would also be flushed on, turning all channels of group on.

* Removed the 'curvesonly' test from deciding whether the selection status + collapsed group fix, from the earlier commit, since this was making a few cases get overlooked (namely for setting visibility toggles, where selected F-Curves in closed and deselected groups still managed to get through)

* Added a debugging print API call for helping with debugging this sort of error in future. It just prints the types of channels being operated on, to easily see what's going on...
2010-02-09 11:59:02 +00:00
0e7c973e06 Bugfix #21041: pressing tab, adds spaces depending on the end of the line
The code used to calculate the number of spaces to insert for a tab (so that indention widths were aligned to multiples of the number of spaces to use) was incorrectly assuming that the line that this was to occur on was blank, using text->curl->len (i.e. the length of the current line). 

The code now uses the position of the cursor to determine how many spaces need to be added to it to move it to the next multiple of the tab width.

---

Also, added numpad enter to text-editor keymap for creating new lines for more consistency with user expectations.
2010-02-09 11:18:17 +00:00
945a126170 Warning fixes 2010-02-09 11:01:31 +00:00
720d26f4b0 Bugfix #20964: Loopcut with X-Ray draw mode draws no cuts
Moved the special region "post draw" callback execution stuff to after XRay and Transp object drawing.
2010-02-09 09:56:04 +00:00
7dee0e2540 Bugfix #21032: sound strips could not be drag-n-dropped from filebrowser to sequencer 2010-02-09 09:31:45 +00:00
35996857b8 Adding a field for debug type-names to animation channel types to facilitate easier debugging on channel errors. 2010-02-09 09:23:29 +00:00
3563118ae4 Bugfix #21029: Animation editor's channel-group check boxes behave oddly
This commit fixes the first issue in the report - deselecting unselected channels does not flush the change in state - which resulted in the channels of collapsed and unselected groups not getting unselected too (a consistency issue).
2010-02-09 08:38:45 +00:00
ab6c82521c More AnimChannel Filtering Fixes - Groups + Selection Status:
For operators that depended on working on the data of 'selected' channels, but which needed to get F-Curves only, collapsed groups posed a problem (these operators included inserting keyframes on selected channels only, pasting keyframes, and ghosting curves). 

When these groups were selected, all their F-Curves should get included regardless of selection since it's too confusing otherwise. However, inside the F-Curve filtering code, selection was still being considered. This problem has now been avoided by not filtering the F-Curves for selection status in these cases.
2010-02-09 06:40:54 +00:00
3467980b8a Bugfix #21030: Non-visible animation channel-groups can get deleted
Bugfix #21031: Non-visible animation channels affected by fcurve visibility toggle hotkeys

Removed a bad check for the selection filtering check from animation editor filtering for groups+fcurves. This check meant that groups that were not visible due to not having any visible F-Curves would end up being shown too.
2010-02-09 05:45:02 +00:00
d359edbc84 Bugfix: Inserting keyframes from the buttons now ensures that the Graph Editor is updated in the process... 2010-02-09 00:02:22 +00:00
bc31b2c0f4 Bugfix #21035: PLAYBACK: Consistent crash during playback
Circumvent using RNA path resolution code for finding the volume for sound baking, since this can lead to crashes in some cases.
2010-02-08 23:07:53 +00:00
f8455a8d40 filebrowser
* after renaming, the file name and highlight are drawn immediately.
2010-02-08 22:44:55 +00:00
09715e7cce bugfix [#21036] crash with glsl shading
VBO draw cod was assuming a buffer was allocated for drawing.
2010-02-08 21:33:47 +00:00
6001508936 2.49 to 2.5 Animation Conversion Bugfixes:
- World Animation was being ignored. Reported on BA
- Particle/Sound/World animation handling were all missing break statements for some reason, which was corrupting path names.
2010-02-08 21:23:17 +00:00
051c6e999f partial fix for [#21036] crash with glsl shading
copying UVs was doing a buffer overrun.
2010-02-08 21:19:15 +00:00
616af4fa52 [#20973] Fly Navigation does not center cursor on commence 2010-02-08 20:14:44 +00:00
21e08dc2b2 Make it possible to raise volume up to 200 %. Danger as this can cause clamping and as such awful sound and clicks. 2010-02-08 20:03:59 +00:00
9ffe1c58f8 hack, we need a way not to switch some cameras quickly. 2010-02-08 19:52:34 +00:00
5ed0cc61f5 MSVC projectfiles
* quick update for audaspace
2010-02-08 19:26:13 +00:00
f00906b630 [#20987] A small bug in logic editor
string was used, uninitialized.
2010-02-08 19:24:13 +00:00
2aa028e77d Graph editor, when 'Only Selected Handles' is enabled, dont allow selecting a handle unless they key is alredy partially selected. 2010-02-08 18:00:27 +00:00
1cf9493e24 run id_lib_extern on all constraint ID data when copying. solves possible errors when running make proxy on a library object. 2010-02-08 17:30:35 +00:00
a53027eb05 2.5 Audio:
- Using libsamplerate again, doesn't seem to be the bug source.
- Changed sequencer audio to work with 2 channels and 44.1 kHz fixed.
2010-02-08 15:37:38 +00:00
54d7a7c26f grab the mouse when dragging markers 2010-02-08 15:28:28 +00:00
cbe54bd772 Fix for a memory leak in subsurf code that is using memory arena, temporary
arrays are now allocated with regular guardedalloc.
2010-02-08 15:01:11 +00:00
cac3443d4e Guardedalloc: added MEM_reallocN function to do simple alloc/memcpy/free,
not as optimized as a system realloc but I've had to do this often enough
manually to justify a utility function.
2010-02-08 14:59:59 +00:00
6c8e3e303d 2.5 Audio:
- Python script to crossfade two sound strips in the sequencer
- Fix for the libsamplerate code producing awful audio when resampling sequencer strips
- Changed default resampler to a linear one (as temporary workaround for a bug that seems to be in the samplerate code)
- Fix for the OpenAL device to return a more accurate playback position
2010-02-08 14:43:44 +00:00
03bdfb6f31 fix for segfault when setting handle type 2010-02-08 14:34:23 +00:00
12f6c667d9 debug print was making it take > 20sec to open blender with some complex files. 2010-02-08 14:12:18 +00:00
ec7df03c86 Warning fixes, one actual bug found in sequencer sound wave drawing. Also
changed some malloc to MEM_mallocN while trying to track down a memory leak.
2010-02-08 13:55:31 +00:00
4c318539b2 NULL check if file cant be read. 2010-02-08 12:37:09 +00:00
0ee97518e1 Armature selection operators now all use context iterators where applicable, reducing the number of places to fix visibility checks. 2010-02-08 11:15:22 +00:00
2adf6c977f Bugfix: Toggle Select All behaviour in PoseMode was not correctly taking the active bone into account 2010-02-08 11:00:43 +00:00
5e9b5ddfc1 Durian Bugreport - Animation channel visiblity (upwards) flushing
When the visiblity of a F-Curve in an expanded group was enabled using VKEY, the visibility of all groups above the expanded groups were also turned on.
2010-02-08 10:47:34 +00:00
23c070dd41 Small assorted harmless code cleanup tweaks before a round of cleanups aimed at fixing a few bugs in animation editor filtering. 2010-02-08 10:27:10 +00:00
7f3e8b6da8 [#21018] Lasso select fails [26694]
fix for #20936 broke lasso and border select whe not in wire view.
2010-02-08 10:12:02 +00:00
46c0caf7c6 RNA - Added reset to defaults support for Strings too
Many string properties need tweaks to work correctly with this, since many don't have any reasonable defaults set (especially name fields, which often get cleared with these changes).
2010-02-08 09:22:17 +00:00
3a12f37880 Adding support for the FFmpeg video codec #1 as requested on the mailing list. 2010-02-08 08:31:06 +00:00
28238ead51 Hid some debug prints for clicking on animation channels. 2010-02-08 02:51:02 +00:00
9827a3e9ea 2.5 Audio:
- recode of the whole sequencer audio handling
- encode audio flag removed, instead you choose None as audio codec, added None for video codec too
- ffmpeg formats/codecs: enabled: theora, ogg, vorbis; added: matroska, flac (not working, who can fix?), mp3, wav
- sequencer wave drawing
- volume animation (now also working when mixing down to a file!)
- made sequencer strip position and length values unanimatable
2010-02-07 23:41:17 +00:00
2f72b91a54 Operator Execution Contexts Bugfix:
This commit adds a few more execution contexts for operators, given the increasing tendency for some special regiontypes to exist within areas that must have their own set of special operators. 

Examples of these include the "channel" operators in the Animation Editors (i.e. those in the 'Channels' menu), and the "Fit to Preview Window" operator for the Sequencer.

Previously, operators such as these would not function when clicked on from the menus, and they would not show the hotkeys they were mapped to.


Also, fixed a few operator definitions in the Animation Editors which were missing ot->prop defines. This meant that some hotkeys (mainly selection) were shown incorrectly in the menus.
2010-02-07 23:39:44 +00:00
f99d06bc83 Patch #21011: Tweaks to Sky/Atmosphere presets
Patch by Daniel Salazar - ZanQdo

- Do not change save the distance factor since this is not relevant as a preset, it should stay at what ever the user
set it to work with that particular scene
- fixed a tooltip
2010-02-07 22:26:37 +00:00
a8a99a628f BGE: add audio/video synchronization capability to VideoTexture
Add optional parameter to VideoTexture.Texture refresh() method
to specify timestamp (in seconds from start of movie) of the frame
to be loaded. This value is passed down to image source and for
VideoFFmpeg source, it is used instead of current time to load
the frame from the video file.

When combined with an audio actuator, it can be used to synchronize
the sound and the image: specify the same video file in the sound
actuator and use the KX_SoundActuator time attribute as timestamp
to refresh: the frame corresponding to the sound will be loaded:

GameLogic.video.refresh(True, soundAct.time)
2010-02-07 19:18:00 +00:00
064345ad8c Partial fix for [#20567] SEQUENCER: Image Preview completely unusable
* Zoom and Pan should work now (thanks Aligorith for reviewing)
* mostly removed ancient drawing code
* Fit preview in Window still has issue, HOME key in preview area should be working though
2010-02-07 19:07:56 +00:00
8b0c6a14f9 while info wont sho in the menu, use this. 2010-02-07 18:14:38 +00:00
5882355a56 Patch by matd (on irc).
Disables save buffers and full sample when render border is turned on (render doesn't work otherwise because save buffers doesn't support border rendering).
2010-02-07 18:06:12 +00:00
3944cda193 Adjust priorities so game engine will link (VideoTex after Ketsji) 2010-02-07 17:56:55 +00:00
056a13ac6c get GE compiling 2010-02-07 17:15:20 +00:00
120d3e03d8 Fix for not being able to click on icons in Fileselect.
For some reason I thought I committed this like 10 days ago...
2010-02-07 17:10:51 +00:00
3e598e7468 BGE: Fix typo in SConscript preventing to import VideoTexture module. 2010-02-07 16:52:19 +00:00
60bf5465a4 Fun stuff: conflict detection in argument parsing library (could have been useful to detect a previous bug, prevents further bugs).
Prints a warning in the console at runtime when filling in the arguments if conflicts exist.
2010-02-07 15:36:20 +00:00
f9917af00b Fix #20914: non-normalized AO baking was not working anymore. 2010-02-07 15:24:10 +00:00
3bd78cf8f6 Wrong argument name for scons 2010-02-07 14:59:00 +00:00
dedbf8608e Smoke: Patch #20955 / fix by Damien Plisson (damien78)
* Smoke got it's own thread loop now and can be esc'ed now
* Apple OpenMP bug workaround until they fix the GCC (couldn't test this one)
* removing some "static" keyword to prevent crashing on frame display
* should also fix problems with wavelet.noise crashing (Bug #20710)

Fluid:
* sleep delay has been reduced to be more responsive
* Fluid progress is displayed in percent using the mouse cursor (like smoke)
2010-02-07 14:25:09 +00:00
81fd89c8e0 BGE: VideoTexture was not included, missing WITH_FFMEG defined. Fixed in all building system. 2010-02-07 14:12:39 +00:00
6d38010cc5 sunsky presets
* Mountain: low turbidity, well-defined sun, blue-ish (high sun energy)
* Desert: high turbidity (dust), big, diluted sun, red-ish
* Classic: average turbidity (water vapor), small, diluted sun.

also fixed a bug with saving string presets
2010-02-07 13:56:36 +00:00
7f64e23068 Fix #21008: text editor scrollbar overlapping text, code here was not
fully updated when the scrollbar was moved from left the right.
2010-02-07 13:49:43 +00:00
aea91b97fc Fix #20887: multires sculpt normals not updated correct in solid
textured draw mode.
2010-02-07 13:22:46 +00:00
65dc616e10 Fix #20398: smooth brush + multires could still give problems at inner
face edges.
2010-02-07 13:07:12 +00:00
bb571c67cb mat/lamp/world.textures -> texture_slots
object.materials -> material_slots

since neither contain textures or materials directly.
2010-02-07 12:51:47 +00:00
3238730e36 group objects were used uninitialized. (copy paste error?) 2010-02-07 12:30:55 +00:00
3fb8939870 Patch/Bugfix #20997: Recent commit to object_randomize_transform.py by Cam added some garbage to a variable name making the script fail
Patch by Daniel Salazar (ZanQdo)
2010-02-07 11:53:00 +00:00
20fb4e3367 DopeSheet and Graph Editors: Select More/Less Operators
This commit introduces the Select More/Less Operators (Ctrl +/-) for keyframes. This works like the ones for curves, by only selecting/deselecting keyframes lying in the same F-Curve. Inter F-Curve selection is not done by this operator. That is the job for another one. 

This is especially useful for F-Curves set in the 0-1-0 pattern (i.e. 3 keyframes forming localised peaks), where the peaks can be selected by clicking on them individually, and immediately surrounding '0' values are selected too using "Select More".
2010-02-07 11:50:03 +00:00
7d2c4384e2 Fix #20147: AO + onlyshadow wasn't being done right, also updated this
code to work with new ao/env separation.
2010-02-07 11:17:19 +00:00
65d05fca0d Fix #20488: fields render was crashing. 2010-02-07 10:42:45 +00:00
d61f5451c0 Fix #21006: ring select in face mode does loop select again, on second
thought, it makes sense since it's basically the same with flushed
selection to faces.
2010-02-07 10:30:28 +00:00
c2122f01ad Fix #20928: difference boolean modifier is not applied during rendering,
fixed by last depsgraph commit and this extra check to avoid unnecessary
free of derivedmesh for sculpt/multires.
2010-02-07 10:16:42 +00:00
6920a0cc1d Outliner:
Modifier Icons for Smoke and Solidify were missing.
2010-02-07 10:04:18 +00:00
d8c7f743ab Depsgraph: fix for old problem where dependencies would not get executed
properly on file loading. Some things get preserved on file save/load,
like object matrices and armature poses, but other things need to be remade
like derivedmeshes and displists. The latter were not tagged for recalc on
load causing them to be made on countall or redraw typically, so not in the
right order and dependencies on hidden layer were not done at all.

Now these get tagged for recalc and flags flushed on load. There shouldn't
be much if any slowdown on opening existing files, if there is it should be
fixable.
2010-02-07 10:00:27 +00:00
64d9026144 Fix for stamp marker name lookup, was returning wrong incorrect pointer. 2010-02-07 09:52:43 +00:00
447e4efaac Fixed display of IK DOF limits for bones. The old rotations were using M_PI/360 instead of M_PI/180 in many places, which I overlooked when porting this over to using radians only. 2010-02-07 04:38:45 +00:00
e939e74e88 Patch + Bugfix #20999: Node Header icons drawn wrong
Thanks to Thomas Raab (fando) for this patch.

This patch fixes the arrow showing whether nodes are expanded or not, and includes a fix for the other icons getting scaled twice.
2010-02-07 02:54:41 +00:00
3b83ff755d Fix jumping panels when opening a new properties area or area containing
a region with panels (e.g. file browser).
2010-02-07 01:11:02 +00:00
36f57beca2 Fix #21000: normal size button increment too small to see, also fixed
increment for lamp energy.
2010-02-07 01:09:12 +00:00
636f5eae0f Fix #20220: edge ring select confusing
* no longer a modal operator now, that was useful when it was part of
  the loopcut macro but is no longer the case, and should have not
  affected regular edge ring selection.
* don't fall through to loop select in face mode, that is bad 2.4
  behavior, just use alt+rmb if you want to loop select.
* fix error number of cuts error print, missing select mode flush, and
  use more accurate notifier.
2010-02-07 01:01:32 +00:00
2cc02cdd9b Fix #20922: image window draw z-buffer wasn't drawing the z-buffer
from the select render layer.
2010-02-07 00:28:49 +00:00
7f2b2929ff Fix #20350: particles are offset from emittor in dupli-objects. 2010-02-06 20:59:09 +00:00
dfc93b1424 Fix compiling when GameEngine is disabled. 2010-02-06 20:59:08 +00:00
de90619a46 Fix #20452: motion blur buttons were missing. Motion blur samples
are now also decoupled from antialiasing samples. Implemented by
Matt, I'm just committing the patch.
2010-02-06 20:25:17 +00:00
3be3e84e48 Fix game engine crashing with subsurf modifier, only allow caching
of CCGSubsurf when computing ob/em->derivedFinal.
2010-02-06 18:21:33 +00:00
2430005cef Game engine: show popup with error rather than printing in console when
trying to start game engine disabled in build.
2010-02-06 17:38:23 +00:00
53a3b64601 Fix part of #20468: material changes when switch to sculpt mode. 2010-02-06 17:04:13 +00:00
d3afaa20be [#20994] seem that -F flags is not honored any more on linux ubuntu 9.10
Case Insensitive flag was reversed, making -F act like -f.
2010-02-06 16:39:44 +00:00
9063f549d5 Wrong text for missing format with -F 2010-02-06 16:38:53 +00:00
d3d399d39d Fix #20953: vertex and weight paint mode still had 500k verts limit. 2010-02-06 15:50:53 +00:00
4a6c843ec1 Fix #20951: move to layer popup hotkeys shift 1..9 were not working correct. 2010-02-06 15:29:18 +00:00
bd0b26f7bb bugfix [#20990] maker name don't show in render stamp 2010-02-06 14:56:25 +00:00
eafdf42c24 bugfix [#20989] DupliVert of DupliGroup crash 2010-02-06 14:32:50 +00:00
274e4bd9e0 commit from joe 26206, removed timer from zoom. this is needed for continuous zoom. 2010-02-06 12:44:37 +00:00
b28033d53f Constraints Loading:
Refactored the constraints reading code to take advantage of the new ID loopers. Now, adding a new constraint type will not require much effort with the file loading code, unless the constraint uses any special direct data which needs to be handled differently.
2010-02-06 11:50:39 +00:00
ae22d97c45 Constraints API: ID-Loopers
Added a system for running a callback on all the ID-blocks referenced by constraints (like for modifiers). Also, added an API function which calls these on the constraints present in the given list.

These could be used for:
- the proxies + action/pyconstraint fix that campbell committed
- simplification of file loading code
2010-02-06 11:28:22 +00:00
df2ed25558 MSVC compile fix
* needed to add _USE_MATH_DEFINES to make M_PI known
2010-02-06 10:50:34 +00:00
Dalai Felinto
b2926cf8e2 BGE: rna update for Logic Bricks
New Actuators done:
* SCENE
* RANDOM
* MESSAGE
* GAME
* VISIBILITY
* TWODFILTER
* PARENT

Actuators to be done:
* OBJECT (aka MOTION)
* SOUND
* PROPERTY
* CONSTRAINT
* EDIT_OBJECT
* ACTION
* SHAPE_ACTION
* STATE
* ARMATURE

Actuators done already:
* IPO
* CAMERA

once again: feedback is appreciated.
2010-02-06 06:21:42 +00:00
Dalai Felinto
443d913f72 BGE: rna update for Logic Bricks
Sensor and Controllers: small fixes and suggestion (comments) for future improvement - mainly to replace text properties to material, text or object datablocks.

Actuators done:
* IPO
* CAMERA

Actuators to be done:
All the others (their structure is in the file)

Adding NC_LOGIC

** If someone want to help on that:
Files used for actuator RNA:
- logic_window.c
- DNA_actuator_types.h

*** my first big RNA operation. critics/suggestions are welcome

**** padded some DNA variables that were not been used.
2010-02-05 23:50:33 +00:00
29a6465ed4 Bugfix #20971: IK Joints Inexplicably Stiff In Recent Blender 2.5 Builds
- IK-Solver interfaces were still converting units from degrees to radians. Made these all use radians now.

- Tried to fix the DOF limits drawing. This is still not totally functional again yet, but at least there are visible lines now.
2010-02-05 22:03:19 +00:00
5affc83eb2 Disabled ability to animate FPS setting, since this was producing weird and crazy effects for when viewing timecodes.
See http://www.pasteall.org/blend/1769 and switch to timecode displays in the timeline (Ctrl T) to see the effects of this (in an old build).
2010-02-05 21:23:07 +00:00
ebf491b111 Merge -c 26630 from COLLADA branch into trunk. 2010-02-05 18:39:04 +00:00
e7741a9dc4 changes to 'view selected' operator.
- near clipping is not used to clamp minimum zoom level in ortho mode.
- view selected applied to a single point (no bound-box volume) just moves the view rather then zooming in.

for sintels face view selected didnt work well for eg: selecting a face at the mouth and zooming in.
2010-02-05 15:55:45 +00:00
a1d2b84222 patch [#20910] Support for exporting UV layouts to EPS files
also improved this so visible UVs are exported unless 'All UVs' is enabled, taking into account local-view and mesh face selection.
2010-02-05 15:20:12 +00:00
31955feba1 active face was incorrectly set on entering editmode. 2010-02-05 15:07:44 +00:00
2973ffbb49 add menus for vertex group and shape key panels, functionality wasnt communicated well with icons and getting cluttered.
also made 'transfer shape' script copy into the active object to match 'join as shape', which was quite confusing before.
2010-02-05 14:29:05 +00:00
61755860ea VBO's face index was incorrect, didnt see this break anything but was giving the triangulated index (always wrong for quads). 2010-02-05 13:40:43 +00:00
236b533015 [#20462] Weight painting subsurf mesh doesn't work with VBO
- backbuf colors were ignored with VBO's, disable since to make this work with VBO's it would need to re-bind a color array, then restore the previous one after.
2010-02-05 13:38:41 +00:00
65af2e2d48 Bugfix for "Show Only Selected" option and Bones (in Animation Editors):
If you have some bones selected, and then hide their layer, they would stay selected + visible even when you make another selection. Now, they are hidden and are no longer visible when they aren't on visible layers. 

Currently, this is only done if the channels are being filtered by visibility, but this could easily be changed to do without this check. Will see how this goes after some production testing. :)
2010-02-05 11:52:51 +00:00
c1bbda703f Armature Drawing - Active Bone:
Active bones are now only highlighted if they are also selected. This reduces confusion over when something will get moved/edited.
2010-02-05 11:39:58 +00:00
29e11e3ef4 bugfix for proxying linked objects & action constraints, reference to linked actions were being lost. 2010-02-05 11:32:27 +00:00
061f258d69 bugfix [#20936] Making lasso-selection of verts in weightpaint-mode "misses target"
xray objects can overwrite the view's obmat.
2010-02-05 10:17:43 +00:00
2a39fc2bb5 Fly Mode Bugfix: Animation recording works again 2010-02-05 08:14:33 +00:00
ba6d50c3d3 Bugfix #20975: Deleting a constraint causes segfault
Missing null checks in API functions.
2010-02-05 06:05:24 +00:00
Dalai Felinto
f7a24a25ba BGE: Sound Actuator API
act.time can set the sound position (float in seconds)
act.is3D RO gives you the dimension of the audio
act.minGain3D, maxGain3D ... set the 3D parameters of the sound

** PyDoc to be done. Jörg Müller (NeXyon) do you want to document them? The file is here:
//source/gameengine/PyDoc/GameTypes.py


+ adding a missing \n to KX_Scene.cpp. (kind of typo)
2010-02-05 00:51:32 +00:00
Dalai Felinto
f32df64d2b BGE fix: KX_Lamp using strcmp wrongly + typo in rna_define 2010-02-04 23:51:41 +00:00
26a69496ba fixing blenderplay compiling 2010-02-04 23:03:08 +00:00
9c5a752c49 use the camera's lens angle as radians. 2010-02-04 21:48:10 +00:00
fe5b216030 access spot size in radians from python. 2010-02-04 19:24:20 +00:00
eedf5cbe89 reading in hair with dynamics wasnt working but mostly crashed when duplicating the object.
from reading all places dynamic hair is used I think these changes are correct (cloth seems to share pointcache with the psys) but its not obvious.

jahka: please check this is ok.
2010-02-04 16:54:25 +00:00
eaca7fa8b5 when autodepth is enabled use the z-depth for placing the cursor. 2010-02-04 16:30:28 +00:00
a6bbdae805 sync the custom transform option for proxies 2010-02-04 10:42:15 +00:00
b7e3862b55 fix for crash when deleting duplictaed objects with particle systems
cloth modifier was copied but not assigned to the new psys.
2010-02-04 09:59:05 +00:00
843b0e343b ghash tweak to not do so much preallocation 2010-02-04 00:17:25 +00:00
0020de72e4 BGE: Optimize Soft body conversion: don't create BVH structure.
A btBvhTriangleMeshShape object is created when converting
a mesh to physics, also in case of Soft body although the
soft body will not use it (it only uses the mesh interface).

This patch keeps this system for compatibility with the
KX converter but avoids the creation of the BVH structure,
which consumes a lots of CPU. This should speed up
significantly the conversion of large mesh to softbody.

A secondary optimization is that the sharing of shapeInfo
is extended to rigid body using gImpact. Before it was
only active between static body and soft body.
2010-02-03 21:41:03 +00:00
02d9da1d5d [#20681] Text beveling works incosistently when not justifying text left
as changed in 2.4x
2010-02-03 21:33:22 +00:00
7516a56cb7 Small tweaks to Knife Cut
- Number of multicuts can now be set (only usable for multicut mode)
- Midpoint cutting is now done using shift-k + drag hotkey mapping

These were just minor properties changes, which shouldn't be too much of a hassle for BMesh merging.
2010-02-03 21:33:15 +00:00
ec5788925c Add btBvhTriangleMeshShape::buildOptimizedBvh() in preparation of next commit. This patch has been approved already and will be in Bullet 2.76. 2010-02-03 21:20:06 +00:00
b6c643c19f Update MSVC project files. 2010-02-03 21:14:50 +00:00
9916e0193c New Transform 3D view recalculate scheme.
Only recalculate changes when absolutely necessary (mouse move triggers a soft recalc that will only happen before the next redraw other events trigger hard recalcs). The problem was that mouse moves are reported as lots of events (with small dx,dy) between each redraw which would trigger often heavy recalculations every time while only the last one was really important (the one before the redraw).

This makes snap project (retopo) much more manageable but induces a very small lag equal to one refresh cycle. Confirming transform does a hard refresh, so the final result is always consistent with mouse position.
2010-02-03 21:01:41 +00:00
845136ea13 Wrong argument for internal snap call. 2010-02-03 20:49:05 +00:00
152708df68 Pre Draw callback for 3D view. 2010-02-03 20:45:35 +00:00
a7edd5cac5 [#20957] Python API: unlink an object while in edit mode may crash Blender
disallow unlinking objects if there not in object mode.
2010-02-03 19:25:43 +00:00
f590151725 avoid nan tangents which happen with cubes that have generated UVs 2010-02-03 19:16:18 +00:00
6bdfa43431 -fpe command line argument. Tying it to -d is just hell. 2010-02-03 17:48:39 +00:00
61457571af use fpe_handler on linux when running with -d, this runs a function rarther then quitting, use for setting breakpoints to find where nan/inf occur. 2010-02-03 15:50:08 +00:00
fb728addd2 Eh... stupid me. Left a duplicate main function in the rig type.
(Tail between legs, walks away shamefully.)
2010-02-03 15:44:19 +00:00
11ce6eb4d4 Added a new rig type "shape_key_transforms" that drives shape keys based on the local transforms of a single bone. Quite useful in a variety of situations.
Required options:
    mesh:  name of mesh object(s) to add/get shapekeys to/from
           (if multiple objects, make a comma-separated list)
Optional options:
    loc_<x/y/z>:       name of the shape key to tie to translation of the bone
    loc_<x/y/z>_fac:   default multiplier of the bone influence on the shape key
    rot_<x/y/z>:       name of the shape key to tie to rotation of the bone
    rot_<x/y/z>_fac:   default multiplier of the bone influence on the shape key
    scale_<x/y/z>:     name of the shape key to tie to scale of the bone
    scale_<x/y/z>_fac: default multiplier of the bone influence on the shape key
2010-02-03 15:40:56 +00:00
1f3e277121 bugfix [#20709] Strange rendering artifacts in raytraced refraction 2010-02-03 13:54:09 +00:00
116a52ee21 bugfix [#20943] Solidify Modifier working incorrectly
old code was merged chich use the angle degrees.
2010-02-03 12:01:57 +00:00
0cb790ac8e Bugfix #20586: Selecting "Straight Line" from Grease Pencil crashes in UV image editor
This commit adds a check that should prevent crashes of the kind that were occurring in the report description from happening. 

However, I couldn't verify yet whether this really works, since it appears the bug has temporarily disappeared in recent svn. Just in case, I've committed this fix, and we can revert/improve if the bug returns.
2010-02-03 11:53:57 +00:00
40903efe85 Missed a few places in previous constraints commit 2010-02-03 11:43:26 +00:00
e5bfbcca02 Bugfix #20902: In PoseMode, ObjectMode constraints can't be deleted or moved up/down 2010-02-03 11:36:09 +00:00
74190f255b Spline IK: Small tweak improving (but not completely solving) the situation for bug #20708
The best workaround for problems with SplineIK applied to a chain of BBones so far is to disable 'Chain Offset'. Hopefully this workaround will soon become irrelevant.
2010-02-03 11:09:47 +00:00
ba4cf7bf0c fix for shape key value not updating. 2010-02-03 10:27:31 +00:00
2745609ffd [#20905] Blender 2.5 - Crash on drag an drop
Only allow dnd' adding objects in object mode.
2010-02-03 10:16:12 +00:00
ffc1bdca3b bugfix [#20909] (2.5) crash when clicking the arrow-restore button in keymap editor 2010-02-03 10:00:43 +00:00
3289eff6d9 bugfix [#20944] bad use of wm.invoke_popup(self) is crashing Blender 2010-02-03 09:39:46 +00:00
53596fc6b8 Bugfix #20940: Offset always resets to 1 in follow path constraint
Made the 'Offset Factor' setting use a separate variable from the 'Offset' setting in the DNA stuff. While we could get away with this sort of thing in the past, it turns out that with the Datablocks viewer these days, settings sharing an internal var but with different ranges/behaviour doesn't work well anymore, since later instances override earlier ones.
2010-02-03 09:05:31 +00:00
742ef3b4cc Bugfix #20935: Evaluation Time For Curves No Longer Accepts Input Over 1.0
Reverting the part of an earlier commit to show the Evaluation time in the Path panel that made the Evaluation Time setting a factor. This setting should not be a factor, since it gets divided by 'Path Length' to normalise it to the 0-1 range needed. When this setting isn't animated, the evaluation time setting is automatically set to the current frame number, so that when divided by Path Length, child objects still follow the curve.
2010-02-03 06:30:16 +00:00
2c5ef58b8b Bugfix #20942: Unassigned Vertex Groups crash Blender on sort
This commit fixes the crash, but it seems that the sorting doesn't work correctly with or without any vertices assigned.
2010-02-03 02:31:29 +00:00
0ff879af73 Spline IK Bugfix:
Spline IK now takes curve-object transforms into account when the 'Chain Offset' option is not enabled, since the intention of that feature is to allow a chain of bones following the shape of a curve to be placed anywhere in the scene.
2010-02-03 01:08:37 +00:00
96b9f42c39 Animation Data Types - RNA Fixes:
* Fixed bug with Graph Editor that meant that after switching modes, driver F-Curves would often still be shown black until the curves were edited

* Added notifiers and missing flags for F-Curves and Actions
2010-02-03 00:54:26 +00:00
fc123a40d3 patch [#20889] Support "unit"s for FloatProperty
from Martin Bürbaum (pontiac)
(with own minor changes)
2010-02-02 23:03:56 +00:00
95bfbd470e vertex group sort operator, access from the vgroup panel, sintels mesh has 144 vertex groups which got quite tedious to look through. 2010-02-02 21:43:26 +00:00
1ee7b2fae4 Bugfix #19970: auto-clamped / auto working strangly in f-curve editor
Thanks to a great doc from Bassam (slikdigit) on the different types of handles (which should probably become/be part of future 2.5 docs), I've revised the code again so that this works well again.

The doc:
http://docs.google.com/View?id=dvgkxj6_1d8cpfw79
2010-02-02 21:16:28 +00:00
66aa2e0127 PET Connectivity calculation. Adding threshold to take care of possible imprecisions. 2010-02-02 19:51:56 +00:00
717581df93 [#20934] fbx export with armature results in 0bytes writen REV:26548 2010-02-02 18:56:06 +00:00
820517ba91 Fix semi-exit of particle edit mode after adding/removing hairs, when
child particles were enabled, should only free edit in case the parent
particle amount changes.
2010-02-02 18:54:23 +00:00
104f46afdd linking in mesh data with animation crashed blender. also fixed some warnings. 2010-02-02 18:24:10 +00:00
21f1625fd5 Updates to mouth rig. Old method didn't work well in combination with shape keys. This new method (effectively just weighting directly to the lip control bones) is much simpler, but also requires more manual weight painting to get it to look right. 2010-02-02 17:57:12 +00:00
c8b69b07c4 Fix #20926: 2d image paint was missing clone image, clone alpha, and wrap
option in the UI, also fixes missing refresh when changing these and wrong
order in keymap for clone grabbing operator.
2010-02-02 17:41:32 +00:00
d121c0153b Fix #20932: add surface operator did not pop up type menu when invoked. 2010-02-02 17:38:56 +00:00
942e1fc6a8 Give border render coordinates a sane default, so enabling border in the
render properties shows the render border in the 3d view.
2010-02-02 17:28:53 +00:00
d20397661f Fix for a recent bugfix removing the wm* opengl function replacements,
broke drawing duplis.
2010-02-02 16:31:29 +00:00
f80617ab37 render simplify option to disable triangulation.
- triangulating non planer quads is needed to resolve some artifacts however this also ends up triangulating most faces in - Suzzane subsurf level 4 for eg.
this check could be tuned for better performance but for now skipping it is useful for test renders.
2010-02-02 15:51:44 +00:00
11e011b409 error mirrorring weight group, wasnt checking if the mirror vert was the same 2010-02-02 15:18:37 +00:00
396770a63a - lamp bias of 0.0 was allowed when it should not be.
- enable floating point exceptions in debug mode on linux, makes nan's easy to track.
2010-02-02 14:50:43 +00:00
25183b8747 adding back quotes, looks like well need to strip them some other way 2010-02-02 13:58:42 +00:00
2047929e2d Bug in cmake broke vc build. Fixed by Jerome Lelong on ML. 2010-02-02 13:54:01 +00:00
67c9fa4ba1 Updated OpenCollada section of cmake windows config. 2010-02-02 13:05:21 +00:00
755569b020 errors in arg parsing from yesterdays commit 2010-02-02 12:10:13 +00:00
02dc4e9748 shape key transfer
- use the shape key basis for applying relative vertex locations
2010-02-02 12:04:03 +00:00
1b17112cbd editing the basis shape now updates others when relative is enabled. 2010-02-02 11:10:02 +00:00
ecaa50ed7b PROP_ANIMATEABLE -> PROP_ANIMATABLE (more common spelling) 2010-02-02 00:02:55 +00:00
53d425ef96 obj export broke since api updates to mathutils 2010-02-01 23:52:46 +00:00
039d087171 subtype support for properties in bpy.props. 2010-02-01 22:04:33 +00:00
26cfe812f8 Proportional Edit Connected: Use connectivity distance for falloff (connectivity distance now also calculated across inner face edges). 2010-02-01 21:31:32 +00:00
ef2dfbc390 2010-02-01 19:53:51 +00:00
2156ddc529 Fix part of #19858: texture node outputs don't work separately, the meaning
of node output indices was changed without a version patch.
2010-02-01 19:35:32 +00:00
58b89bbac3 Fix sculpt mode drawing performance regression, happened on at least
NVidia/Linux. Disabling GL_MULTISAMPLE apparently makes things go much
slower even though we're not using it, why is a mystery to me.
2010-02-01 19:22:54 +00:00
676cc6d6c8 libpng.dll is not included in our libs on win64 2010-02-01 19:17:47 +00:00
e15d6fa1df SVN maintenance. 2010-02-01 19:01:57 +00:00
f2a8bb3498 this restores building on mingw with Collada support, also it restores cross compiling, thanks to Sergey Sharybin for the patch. Note that the icons for linux cross might not be committed here, if not i'll add them in another commit 2010-02-01 18:39:41 +00:00
7fe3ab7e8e bugfix for reading invalid id prop lengths from python. 2010-02-01 18:38:33 +00:00
46b0e90cf6 Mesh Extrude menu
Todo for Campbell: 
- Make menu context sensitive
- Make menu automatically run the operator if there is only one option


Note: Saved configurations and keymaps with references to "Extrude and Move" operator needs to be updated to either call the menu or one of the new extrude macros.
2010-02-01 18:30:00 +00:00
bfdf6d139e Remove NO_CONTEXT flag from enum when copying operator properties to the operator itself. 2010-02-01 18:26:45 +00:00
f591f34e80 Wrong include path in revision 26519 (missing space when concatenating includes) 2010-02-01 18:23:24 +00:00
0e84b50e99 Quicktime/QTKit : fix too dark images conversion issue 2010-02-01 17:46:19 +00:00
298f99bf05 Cocoa/DND : give feedback to user of drop possibility before actual drop
The '+' in the cursor during the DND operation is displayed only if drop is accepted.
(through a previous call to GHOST_setAcceptDragOperation(window, TRUE); )
2010-02-01 17:38:44 +00:00
cfe7c136f9 Cocoa/DND : added bitmap data type handling in drag'n'drop operations
Conversion of OS type to ImBuf is done inside ghost.
2010-02-01 17:33:41 +00:00
3aff6529c0 Fix for problem drawing second level popup menus due to recent commit,
should find a better way to get this matrix for the UI.
2010-02-01 16:50:23 +00:00
81cd4edfb6 Fix #20891: opengl animation render could mess up the view.
The problem was that wmPushMatrix/wmOrtho/.. and similar functions did not
work well for offscreen rendering. It would have been possible to make a
fake subwindow for this, but I decided to just remove this extra layer as
it does not seem to have much purpose and has been quite confusing when
trying to fix other bugs. The relevant matrices are already stored in
RegionView3D so there will be no increase in calls to glGetFloat, which may
have been a performance reason to use this system in the past.
2010-02-01 15:32:55 +00:00
Dalai Felinto
90e2b22fee BGE: fix for [#20684] Game Render blanks screen on Anaglyph Stereo view
The problem was: the Blender default camera has DOF distance as 0.0. Since we are using this as Focal Length for the stereo calculation we had terrible stereo by default.

Fix: whenever DOF == 0.0 we use focal length as eye separation * 30.0 (known to be a reasonable value)
2010-02-01 15:13:05 +00:00
7bd3d1213a shape key transfer fix.
workaround for the vert locations not being relyable, use the base shape key rather then the verts to calculate the offsets.
2010-02-01 15:09:35 +00:00
f5980ee6ae opengl render wasnt using the right stamp flag 2010-02-01 14:42:23 +00:00
059be67aab remove workaround thats not needed anymore and could cause a python error when linking a mesh with keys to an object. 2010-02-01 14:25:38 +00:00
d5fadfdf40 added extrude enum function, cant be used yet because macros have no way to expose in a way that lets transform run after. 2010-02-01 13:48:13 +00:00
c8e8057ada Bugfix #19970: auto-clamped / auto working strangly in f-curve editor
Fixed the operators for DopeSheet/Graph Editors responsible for setting the "auto-clamped". This option is actually per F-Curve instead of per handle, and the code here should function like it did in 2.4x

However, despite this, it still appears to work oddly IMO. Any comments Bassam or animators familiar with the intentions of this?
2010-02-01 11:45:24 +00:00
c5ef38a415 Fix #20420: grab brush + subsurf modifier crash. Previously the PBVH nodes
were cached once at the start, but these can change when modifiers are
executed, now it simply doesn't cache them anymore, that was only really
a performance bottleneck when it was caching individual vertices.
2010-02-01 11:36:22 +00:00
7795e71377 Cocoa : fix mouse cursor hang when RMB-dragging in a not frontmost window
With continuous grab on, in 2+ window setup, when RMB-dragging an object in a 3D view of a not active (not frontmost) window, mouse cursor was stuck, with no escape.
Cursor grab must be done by the window that is key (able to receive mouse move events).
2010-02-01 11:20:01 +00:00
e11f5d7d94 Fix #20502: add constraint (with targets) menu has no last used memory.
The last click button memory can now deal with menus with varying amounts
of menu entries and multi column layouts.
2010-02-01 11:13:55 +00:00
53f8bbd798 bpy.props.IntVectorProperty & BoolVectorProperty 2010-02-01 10:51:34 +00:00
30dcd5a4b5 Fix automatic draw method detection not clearing things properly
on e.g. resizing windows.
2010-02-01 10:39:36 +00:00
93b643ecc7 OSX : fix OpenCollada build for 10.4 targets with scons 2010-02-01 10:14:22 +00:00
fe555522f1 GPU type detection tweaks for unix/mac software rendering. 2010-02-01 10:04:37 +00:00
a59841b016 WM Draw Method added to do Overlap assuming swap exchange / flipping,
and made that the default for windows software opengl because that
seems to be working better at least on XP. Previously this could only
be specified from the command line.
2010-02-01 10:02:53 +00:00
3e8a2a5f07 stub additions for building the game engine 2010-02-01 09:33:32 +00:00
3fc23b6cce NLA Editor Bugfix:
Operator to add action-clips now takes names without needing the "AC" prefix. The previous way was non-obvious for scripting usage, but did not cause too much trouble to replace.
2010-02-01 09:26:50 +00:00
0e6b88f993 Cocoa : implement opening .blend file by double-clicking on it in OSX Finder
When the user double-clicks on a document file in the Finder, OSX doesn't simply give the filename as a command-line argument when calling Blender, as it is done in other OSes.
Instead, it launches the app if needed, and then sends an "openFile" event.

The user can also open a document file by dropping its icon on the app dock icon. But as this is not real Drag'n'drop, I've renamed the Ghost event to a less confusing "GHOST_kEventOpenMainFile" name.

DND Ghost wiki page updated : http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DragnDrop
2010-02-01 09:11:18 +00:00
c3e96bf0fc Finished some todos for the Export KeyingSet operator:
- Keyframing and other KeyingSet-level settings are now included in the exported script too
- A table of lookups for ID-block shorthands is built and included to make running the exported script more efficient and less confusing
2010-02-01 04:07:43 +00:00
678f68550b New argument parsing library supporting multiple passes, case sensitive and insensitive arguments, default handlers and other features that were hacked in the previous ugly switch system. Very simpler system for adding new arguments, easier to see conflicts and no more replication between BG and non BG mode arguments.
I've tested pretty much everything except GE options (-g options), but some small bugs could have sneaked in.
2010-02-01 01:43:31 +00:00
7379e75e12 Fix loading python modules (like netrender) 2010-02-01 01:33:40 +00:00
2a5d7f929d Keying Sets: Export to File
This commit adds an operator which saves the active Keying Set in a form which can be used to regenerate the Keying Set again in another file using the Keying Sets API.

This could be made smarter by caching the ID-blocks used, and writing aliases for those, but that can be done later.
2010-02-01 01:08:45 +00:00
65af9585b2 SVN maintenance. 2010-02-01 00:04:28 +00:00
8c5645669b Fixed a few lingering compiler warnings with the bpy_app stuff 2010-01-31 23:49:04 +00:00
87bbb2d827 WM Draw Methods now has a new option Automatic (default). This will
set the draw method to triple buffer or overlap depending on the
configuration. Ideally I could get all cases working well with triple
buffer but it's hard in practice. At the moment there are two cases
that use overlap instead:

* opensource ATI drives on linux
* windows software renderer

Also added a utility function to check GPU device/os/driver.
2010-01-31 23:45:51 +00:00
873f2c7125 ugh!, missed this file too 2010-01-31 23:41:46 +00:00
ba28cfcf2a Added 'Evaluation Time' setting access to Path Animation panel.
This was previously only available from the datablocks viewer, but this is the direct replacement to the badly named 'speed' ipo-curve in the past ('speed' implies a rate that must be integrated/added to the results of past frame, rather than a factor).

Also, tweaked the RNA definition so that this shows as a slider (i.e. a factor), since the valid values for this are clamped to the [0, 1].
2010-01-31 23:41:38 +00:00
1d4778ee90 Fix #19888: tooltip would stay visible when starting e.g. panning the
view, and be stuck there permantenly when leaving the region. Now the
button interaction is cancelled when starting a modal operator, not too
happy about this, but couldn't think of another way to detect this well.
2010-01-31 23:33:04 +00:00
da41eb178b Fix #20830: only rendering Z pass did not give correct Z values. 2010-01-31 23:27:40 +00:00
ea70bcb5b8 Fix missing redraw in image window when changing render pass. 2010-01-31 23:25:57 +00:00
74535c435f missed this file 2010-01-31 23:21:33 +00:00
aafe6e2d9c Renamed the FILE_OPEN option for the file browser to FILE_OPENFILE to cleanup compiler warnings about redefined definitions (mingw) 2010-01-31 23:07:32 +00:00
f776303de1 setting invalid vector swizzle attributes (from blender2.4x docs for instance), could crash blender.
- disallow setting swizzle's that have duplicate values: vec.xxx = [1,2,3]
 - raise an error if the list setting a swizzle's longer.
 - mathutils write callback was running on the wrong vector, which could crash blender.
2010-01-31 22:50:07 +00:00
fd3842f3a2 Mathutils doc improvements + other small things
- bpy.app moved into PyStructSequence (used by sys.float_info)
- added buildinfo into bpy.app.build_*
- bpy.ui removed (wasnt used)
- include external example files in Mathutils docs (only Mathutils and Vector are currently written)
- added support to auto document PyStructSequence's
- CMake had "'s inside all its strings.
2010-01-31 21:52:26 +00:00
02c6d160d7 Fix [#20901] OPENEXR: Incorrect gamma from colour management
Was working correctly on float render buffers, but not 8bpc render buffers 
(only generated from sequence editor)
2010-01-31 20:53:04 +00:00
6c584a449a -setaudio argument to force an audio device.
This also means that only -s and -S are accepted to set start frame and scene (before, it would accept anything that started with s or S, you could have done blender -b file.blend -super 1 -Science "scene 2").

We really need better argument parsing...
2010-01-31 18:32:19 +00:00
04991f0ab7 2.5: quick fix to make 10-timer menu appear again. It's a debug tool, is
allowed to show menus in end. But, report API doesn't have a type for this
yet... has been noted, and will be checked soon.
2010-01-31 18:06:50 +00:00
5cdec97dc5 Temporary work around for [#20768] Project Snap Broken
Don't snap to editmesh when project is on (that means you can't retopo to the same mesh). Again, that's a temporary work around.
2010-01-31 17:50:42 +00:00
8d513efdb0 Fix snap to grid not taking the current grid resolution into
account in quad split 3d view. Now WM_OP_EXEC/INVOKE_REGION_WIN
context stays in the current region if it is already a region
of type window, so the operator gets executed in the right context.
2010-01-31 16:59:21 +00:00
127b3e6882 Fix #20879: crash when add textures brush in sculpt mode. Drawing
the texture would crash because the VBO was still bound. As I
understand it this is not necessarily against the opengl spec,
but might as well unbind it, the driver bug seems to have been
fixed but has not trickled down everywhere yet.

http://bugs.freedesktop.org/show_bug.cgi?id=23859
2010-01-31 15:06:20 +00:00
95069f2909 pep8 changes 2010-01-31 14:46:28 +00:00
fbadf21b00 pep8 changes to rigify (minor warnings still there)
also found quite a few cases where variables were used that hadnt been defined.
2010-01-31 14:33:27 +00:00
22d8742f0d white space commit, so the actual changes in the next commiy wont be so hard to find 2010-01-31 14:30:21 +00:00
fffaa0e18a Fix #20696: shape keys with vertex groups showing in edit mode did
not update immediately when editing the vertex groups.
2010-01-31 11:15:51 +00:00
1277543732 Various tweaks to View2D code for handling of scrollbar interactions in relation to bug 19881:
* Clearly labelled the way that the scrollbar hiding works. Also see the report comments for an overview
* Added another pair of flags for another one of the cases in which scrollbars should also get ignored; when the entire contents of the view are visible, a pair of flags is now set in the view2d data (instead of for the scrollers tempdata only) for detecting this case too
* Fixed the potential for scrollbars without zoom handles shown to have those handles still considered. This still happened in the User Preferences window, but has now been disabled.

--

These changes still don't solve the bug though. Currently after the scrollbar operator passes through, the Outliner's activate-selection operators still fail to start.
2010-01-31 11:13:31 +00:00
6de25c937f Fix #20897: ctrl + click extrude now works again with "select with"
set to left mouse, using the right mouse button, same as in 2.4x.
2010-01-31 11:01:13 +00:00
2704e282a4 Fix #20896: FSAA wasn't disabled properly and still enabled for 3d view
drawing, which apparently still slows things down even if you don't have
the window set up to do this.
2010-01-31 09:49:46 +00:00
1832df2764 Fix compile error in qtkit_export.m on mac. 2010-01-31 09:42:50 +00:00
962befe25d Armature RNA: Removed old properties for armature-only bone paths 2010-01-31 05:36:57 +00:00
ebbd1e0b20 bugfix [#20579] Context pinning error (pose mode) 2010-01-30 23:48:49 +00:00
08ee31990e missed these last commit 2010-01-30 22:50:32 +00:00
caf067576e changes to get MingW compiling and cross compiling working, patch by Sergey Sharybin 2010-01-30 22:46:25 +00:00
f749d0361f - hash characters in the path would confuse the output file name and not add numbers to it (when rendering animations).
- added an option to BLI_convertstringframe and BLI_convertstringframe_range to add digits if not found.
- removed BLI_convertstringframe where its obviously not needed - such as loading movies and sounds.
2010-01-30 22:33:47 +00:00
1943a73439 rename game object obcolor to color 2010-01-30 21:59:20 +00:00
25eb46810f bugfix [#20878] Filtering for keymaps became useless [26389] 2010-01-30 21:48:07 +00:00
515ecc0f97 Bugfix #20870: Local rotation drivers behave weird
Use euler rotations for local rotation drivers if the object/bone uses euler rotations. Otherwise, fall back to matrix-based conversions again.
2010-01-30 21:21:36 +00:00
96daa3348d Bugfixes:
* Old files imported to 2.5 with curves that got cycles FModifiers added during version patching, would not have their keyframes shown for editing. 

* #20893: Can't see/show the Properties area in the NLA
I don't know why this worked on a few of my test files several months ago, and yet now fails for many files today.
2010-01-30 21:11:46 +00:00
d7d185ef4a Preparation to force an audio device via command line. Will be implemented by theeth. 2010-01-30 21:04:51 +00:00
9d66bfb524 bugfix [#20740] Separate All Loose Parts 2010-01-30 19:42:03 +00:00
3f93d27c4a cmake vars are not using _BF_ in var names. 2010-01-30 19:29:24 +00:00
62ebf87d85 OSX : update build scripts for updated openCollada libs + ray tracing optimization option in cmake
OpenCollada new version (721) lib has additional lib files to link with.

Added BF_RAY_OPTIMIZATION option in CMake (as the one in scons) for building SIMD optimized ray tracing code.
2010-01-30 19:07:48 +00:00
e1700aa6c9 [#20320] Quad View - Orthogonal grid changes to perspective grid
- respect view locking (dont change rv3d->view)
- on multiple calls to smoothview, get the original view from the previously called smoothview if it exists.
2010-01-30 18:54:36 +00:00
f7b7d7952d BGE: patch [#20293] Added python sensor attribute: Status. 2010-01-30 18:53:33 +00:00
cfdd53a4f8 BGE: patch #20399 Python control over adding/removing scenes. 2010-01-30 18:23:13 +00:00
0c899f7ded Merge -c 26209,26214,26443 from COLLADA branch into trunk. 2010-01-30 18:20:56 +00:00
8597925736 COLLADA branch: updated vc9 project files and w32 scons config. 2010-01-30 18:03:18 +00:00
d6611d9844 bugfix [#20894] Blender don't import the "eye" icon value from 2.49 files in the DopeSheet Editor 2010-01-30 17:49:32 +00:00
41861eecd1 [#20892] Locking animation curves with Tab Key don't hide the curves handles
drawing handles for fcurves wasnt checking ((fcu->grp) && (fcu->grp->flag & AGRP_PROTECTED))
2010-01-30 17:17:23 +00:00
29377db3f1 [#19872] Mesh edit missing undo push for mode changing
copy the editmesh select mode back to the scene on undo.
2010-01-30 16:09:56 +00:00
d4663166d6 bugfix [#20888] Crash when following instructions on the Blender Wiki and then clicking on the outliner 2010-01-30 15:44:11 +00:00
ff794b994c Fix #19648: sculpt does not update linked duplicate multires. 2010-01-30 15:29:22 +00:00
80be34d8c9 [#20550] Workflow Odity For Objects On Layers Not Being Viewed
always keep the first editmode objects layer enabled in cases where switching hides the editmode object.
2010-01-30 15:23:17 +00:00
026b5bacca bugfix [#20638] not loading script in user script directory when startup 2010-01-30 14:48:46 +00:00
147e782979 Fix #20662: normal map rendering with negative factor didn't flip
the direction correctly.
2010-01-30 14:41:51 +00:00
dde838ec5e bugfix [#20417] <memory> shouldn't be stored in recent item list 2010-01-30 14:34:37 +00:00
1f863d0122 COLLADA branch: merge from trunk -r 25745:26429.
scons+vc build crashes on Blender start when BF_COLLADA is on, don't know why this happens.

Merging from trunk to get working vc project files, then will try to debug and locate the problem.
2010-01-30 14:12:51 +00:00
ec48cbd267 utility functions is_negative_m3 & is_negative_m4, added python Mathutils access Matrix.is_negative
renamed Mathutils attribute wrapped -> is_wrapped
2010-01-30 13:15:39 +00:00
7a76bc9a36 Fix #20886: user defined keymap could be loaded before python scripts,
printing errors when that keymap included python operators.
2010-01-30 12:01:44 +00:00
e8ddcfa06d Fix #20790: fluid sim adding domain mesh with no faces crashes. 2010-01-30 11:04:36 +00:00
d269ef8745 Possible fix for #20835: background images were not duplicated correctly
when splitting 3d view, causing them to be lost on file reload.
2010-01-30 10:16:11 +00:00
91882d3ba1 Fix #19980: crash with opengl render active viewport. 2010-01-30 09:53:55 +00:00
5e98d8c523 Fix #20876: adjusting the settings after adding a new curve, surface,
or metaball creates duplicates, these did two undo pushes when only
one is needed.
2010-01-30 09:34:54 +00:00
a7f2c3fca8 Fix #20505: subsurf normals where not being set correct on correct from
subsurf derivedmesh to regular (derived)mesh, causing drawing errors on
apply and following modifiers to work incorrect.
2010-01-30 09:32:05 +00:00
3e71c3cbac Fix #20221: switching to weight paint in textured viewport shading
mode leaves objects blue.
2010-01-30 09:27:49 +00:00
2b352211f4 Fix #19875: drawing smoke on graphics cards that do not support
non-power-of-two textures lead to artifacts due to uninitialized
memory if the domain had a non-power-of-two size.
2010-01-30 09:24:50 +00:00
36b5cd008d Fix #19904: selecting a new image color closes the popup. 2010-01-30 09:18:59 +00:00
4279e6d1fd Added a comment in the code about a timer that is not being freed and
is causing the smooth view operator to run all the time after closing
the file browser, since I can't think of a good way to fix it at the
moment.
2010-01-30 09:17:32 +00:00
7d0885915b Fix #20146:
* .tif not loading on newer linux distributions, wasn't looking for
  libtiff version 4.
* fix dds being too verbose when testing if it can open an image file.
2010-01-30 09:14:12 +00:00
c005d19c42 Small UI Tweak:
Let "Add Constraint" Button use the whole space, like the "Add Modifier" Button.
2010-01-30 08:45:31 +00:00
78934da5c4 A few minor code cleanup tweaks for recent commits in animation code, to better follow conventions elsewhere here :) 2010-01-30 05:08:42 +00:00
e1fdf7fc58 View2D/TimeCode Drawing:
This commit introduces a few cleanups and tweaks to the way that timecodes (i.e. the timing indications used instead of frame numbers) get displayed.

1. Custom Spacing of TimeCodes/Gridlines
Made the minimum number of pixels between gridlines/timecode indications a user-preference, instead of being a hardcoded constant. This allows to set the spacing tighter/looser than the defaults, and is also used for the other changes.

2. Default timecode display style, (now named 'minimal') uses '+' as the delimeter for the sub-second frames. This hopefully makes it a bit clearer what those values represent, as opposed to the '!', which can sometimes look too much like a colon.

3. Added various timecode display styles as user-preference. - These include always displaying full SMPTE, to showing milliseconds instead of frams for sub-second times, and also an option to just show the times as seconds only.
- When changing the timecode style, the spacing setting is automatically modified so that the timecodes are spaced far apart enough so that they won't clash (under most circumstances). This automatic modification is only done if the spacing is too tight for the style being set.

4. Unified the code for generating timecode strings between the View2D scrollbar drawing and the current frame indicator drawing.
2010-01-30 04:43:36 +00:00
d86a9da07c Fix for fix in own recent commit for modifier vertex groups,
should have only changed one value to 0.0.
2010-01-30 03:47:13 +00:00
3d9988cde7 Fix #19473: Toggle Quad View options missing from UI. 2010-01-30 03:22:22 +00:00
11ea90933c [#20881] Minor UI bug in outliner - groups view 2010-01-30 02:29:22 +00:00
ada9ca9687 [#20487] Small bug in 3d window's header in edit mode.
[#20713] vertex, edge and face toggling acts like shift select (in 2.49) with or without shift pressed

revert own changes from 26035
- python buttons were toggles so clicking on 1 didnt disable the others.
- for some reason the layout engine wasnt working right here and made the buttons skilly in localview.
2010-01-30 01:25:02 +00:00
dd0db63a5c bugfix [#20721] Reloading scripts crashes Blender (own todo)
made an incorrect assumption that ot->srna and the srna for the registered operators type are the same. caused reload to crash.
2010-01-30 01:10:16 +00:00
2a9bf8d4a7 Removing duplicate bad level call entries, patch from Richard Sanger, thanks 2010-01-30 00:47:41 +00:00
3946ae56ac deleting objects which were driver targets would crash blender.
added a utility function BKE_animdata_main_cb
which loops over all AnimData's of all ID's
2010-01-29 21:16:21 +00:00
588d3661c8 Make expanding kmi possible even when they are not user defined (makes it possible to see full keymap information even for unmodified configurations) 2010-01-29 19:38:56 +00:00
044d568374 edits to 26400
- use the endframe operator property
- dont use the startstill setting, gives odd results (start frame isnt the startframe)
2010-01-29 17:01:53 +00:00
812e5140b0 Fix #20549: selecting a texture node in a material node tree would
keep that texture locked as the current visible texture in the
texture buttons.
2010-01-29 16:32:06 +00:00
e803c03308 Two fixes, errors caused by drag n drop commit:
- Icons for brushes disabled List Box to work (paint buttons)
- Mouse-release in secondary Blender windows didn't get registered
  in window where mouse-press initiated.

And fixed annoyance: adding image strip makes it 25 frames long, so
you can drag and extend it easily.
2010-01-29 16:25:31 +00:00
27f715052a minor corrections to scripts 2010-01-29 15:20:25 +00:00
e85a023480 bugfix [#19681] adjusting the settings of the 'add torus' tool in edit mode 2010-01-29 15:19:19 +00:00
e28e6ac5c7 Fix the underlying problem from the last commit, which was worked
around incorrectly in r24435 before that. freeptr in BPy_StructRNA
was uninitialized when creating bpy.context.
2010-01-29 14:49:21 +00:00
5abb38e566 Bugfix
OSX 10.5 PPC kept crashing on exit. After blaming bad compiles, bad python libs
and all other reasons (almost was switching to linux!) brecht found the bad line 
in python free code. There was code freeing stuff whilst it wasnt allowed to.

Mac PPC gets hug!
2010-01-29 14:13:40 +00:00
01ea2175db Fix #20327: uv smart project options can't be tweaked.
Python operators calling C operators would get too many undo pushes,
causing redo of the python operator not to work. Now the depth of
operator callbacks is counted to detected nested calls, and in that
case skip the undo/register here, and only do a single undo/register
for the mother operator.
2010-01-29 13:06:50 +00:00
0621a8e08a Fix for lack of basic error checking in writing compressed .blend files
(which is enabled by default). If there was a problem reading or writing
in the compression process, the original .blend file could get lost. Now
errors are checked, and writing is done as follows:

write .blend@ -> compress .blend@ to .blend@.gz ->
rename .blend@.gz to .blend -> remove .blend@

We've had blender crash here, lose the original .blend and leave an
empty .blend@. It is not clear to me where this would happen in practice 
if there is enough disk space and permissions are correct, so the actual
crash is likely not fixed by this commit.
2010-01-29 11:26:17 +00:00
014a24ff62 same fix from 2.4x r26392. 2010-01-29 09:56:32 +00:00
fbe0b45acc Inserting Keyframes Bugfix:
When the API function is passed -1 for the index, non-array properties now get keyframed properly too. This fixes problems with the keyframe_insert() method on structs in the Py-API not working.
2010-01-29 09:32:13 +00:00
a368d5269a Fix [#20874] zoom to mouse only in 3d view
Zoom to mouse was working in 2D Views for modal zoom (ctrl MMB) but not for mouse wheel.
2010-01-29 08:13:31 +00:00
88ae9b121e Fix [#19579] View not behaving proper;y when pressing camera view toggle while view is moving 2010-01-29 06:43:13 +00:00
6d71a19e89 [#20875] Rendering resolution in curve properties panel is not default 0 and cannot be set to 0.
Previously forgot about the magic: 0 res = display res behaviour.
2010-01-29 05:48:47 +00:00
54127ccf00 Fix [#20297] Preview "Both" hides part of texture 2010-01-29 05:14:10 +00:00
70109d0dc1 Speed up keymap editor a bit (less context changes) 2010-01-29 02:01:02 +00:00
30c317de70 Fix [#20447] Minor infobar bugs
Limited headers to normal header height until multi-line headers are properly implemented.
2010-01-29 01:57:15 +00:00
b645e56ad5 Fix for weirdness in texture map to settings - we now use negative
numbers for negative influences (as opposed to old 3-state button)
but the ui range was only set to 0,1.

Changed the defaults to -1,1 and added a shortcut - pressing minus 
key while the mouse is over a number field or slider will make it negative.
2010-01-29 01:20:57 +00:00
a180314ac5 Fix [#20860] File/Open Recent Should Show Blend File, Not path
Max number of characters for ui elements was too low, raised this to allow 
very long buttons (eg. file paths)
2010-01-29 00:47:38 +00:00
6d1895e846 * More tweaks to previous cleaning 2010-01-28 23:45:12 +00:00
cb499c9df4 * Partially converted constraint template to layout engine
* Removed old code
2010-01-28 23:41:34 +00:00
21b7556bf7 Add cfg folder for keyconfigs (and possibly others later) to be imported after everything else.
Also remove .pyc file when removing keyconfigs.
2010-01-28 21:52:07 +00:00
462e7cdb47 crash with viewing histogram on a blank image 2010-01-28 20:38:12 +00:00
b81cb0200b Keyconfig import and remove
- Keyconfig are now marked as user_defined when it is the case
- Import keyconfig operator: select an exported keyconfig .py file, copies it to the scripts folder (keep the original copy if wanted, default True), imports and select as active config. The active keyconfig is stored in the user default file, so that still has to be saved after import.
- Remove keyconfig operator and button next to the keyconfig name (poll False if not user_defined). Removes the keyconfig from the list and deletes the file from the folder.

Remaining bug: The file is copied in the user defined script folder (if present) or the /scripts/ui folder. The problem is that it might be imported before operators defined in python are imported themselves. One solution would be to use a separate folder for keyconfigs that is imported after all others.
2010-01-28 19:54:06 +00:00
6f3dfe81c0 missed some files last commit. 2010-01-28 19:21:15 +00:00
e4882e3da2 Cocoa : correctly handle late events sent after window deactivate
Cocoa can still send events (tagged with the correct NSWindow handle) after having sent the window deactivate event.
This caused these events being discarded as there was no active window for GHOST_WindowManager.

Fix is to use this NSWindow handle to retrieve the target window and correctly push the event.

E.g. of effects of this bug: OSKey modifier stuck after having invoked Spotlight through its shortcut (Cmd + Space). This gave the impression the Blender window has not got focus back for the keyboard.

Ton, can you confirm if this fixes the "Cocoa window loses focus permanently on using Spotlight" issue you found ?
2010-01-28 19:18:36 +00:00
cd2c4a5834 - change max threads from 8 to 64, need to keep an eye on stack memory use here.
- reload fix didnt work last commit.
2010-01-28 19:18:35 +00:00
abde08b716 Multires displacement files are now also part of absolute/relative path
remapping.
2010-01-28 18:20:28 +00:00
ccfd67a8d0 missed updating reload scripts 2010-01-28 17:50:50 +00:00
6f4a26c9e0 material copy/paste
not enough room for the buttons so adding a menu, icon is ugly probably needs a new icon?.
2010-01-28 17:31:11 +00:00
883518d782 Bug fix: the new code that allows button highlights in other windows, should
not do this while modal handlers are running
2010-01-28 16:57:37 +00:00
07e36f50a3 Bugfix: Histogram button was added missing 'break' in switch() for
button handling, causing a lot of buttons to be handled as histogram
button... :)
2010-01-28 16:18:46 +00:00
68abfd076b Fix RMB menu insert driver not working on some buttons, passing
wrong pointer into RNA.
2010-01-28 16:13:12 +00:00
59d85ae4d4 Fix #20857: shrinkwrap doesn't use vertex group, broken recently with
some vertex groups changes, the default weight should 0 instead of 1.
2010-01-28 12:16:35 +00:00
18ea9b6443 move bpy.load_scripts --> bpy.utils.load_scripts
added sequencer strip length display in seconds
2010-01-28 11:48:06 +00:00
72cb4548a7 Fix #20223: texture stencil does not work on normal. 2010-01-28 11:40:38 +00:00
a2372d4312 Properties window: try to keep showing shading related tabs as you switch
between active objects, e.g. switch from lamp to material tab when you are
selecting a lamp instead of a mesh.
2010-01-28 10:57:31 +00:00
47e8ea5004 Cocoa : fix 'Draw Overlap' method swap issues 2010-01-28 10:56:35 +00:00
1b7b5eb434 minor changes needed for PDF generation 2010-01-28 10:48:17 +00:00
9d0dbd707e Fix [#20754] Histogram Not Updating, Showing Incorrect Levels, Colour Management on/off leads to Crash
Various internal fixes, also additional feature - can drag on the histogram to change scale 
(0 key to reset).

Also fix [#20844] Color balance node (lift freeze)
2010-01-28 07:26:21 +00:00
b0989aac02 Fix [#20152] Video textures do not refresh at frame change 2010-01-28 02:08:16 +00:00
bf16ed0c80 Fixed some crashes with undo, when going back to the initial state of the file. 2010-01-27 23:20:32 +00:00
cc08cc3e8f nicer start page for sphinx docs 2010-01-27 22:17:27 +00:00
5445dda295 Ambient Occlusion split up into:
Ambient occlusion: multiplied with direct lighting by default, add
is also still available and more blending methods might be added if
they are useful. This is fundamentally a non physical effect.

Environment lighting: always added as you would expect (though you can
subtract by specifying negative energy). This can be just white or take
colors or textures from the world.

Indirect lighting: only supported for AAO at the moment (and is still
too approximate), and also is always added. A factor is available to
specify how much is added, though value 1.0 is correct.

Also:
* Material ambient value now defaults to 1.0.
* Added Environment, Indirect and Emit pass.
* "Both" blending method is no longer available.
* Attenuation, sampling parameters are still shared, some could be split
  up, though if they are different this would affect performance.
2010-01-27 21:40:08 +00:00
478dc000b3 * Mathutils attributes documented - http://www.blender.org/documentation/250PythonDoc/Mathutils.html
* Vector.difference() needed normalized vectors
* bpy.DEUBG -> bpy.app.debug
2010-01-27 21:33:39 +00:00
fb7878a2c2 PROP_ENUM_NO_CONTEXT flag for rna properties, forcing enum item functions to be passed a null context (to return non-contextual items).
This is set on keymap item operator properties and macro definition operator properties to make them non-contextual (since the context at definition time is most likely not the same then at execution time, it's better to have all options visible).

This removes some more errors in keymap export and import.

This commit also sanitize some enum item function, making sure they can cope with null context and have usable defaults in that case.
2010-01-27 21:19:39 +00:00
86a65890c4 Add missing properties to keymap export operator. 2010-01-27 21:12:33 +00:00
1809e04cb4 ctx_data_pointer_verify is a verified NULL value if C is NULL.
prevents ctx_data_main and ctx_data_scene from crashing on NULL context
2010-01-27 20:12:54 +00:00
74b2d3681e missing parenthesis broke os x compile. 2010-01-27 19:46:12 +00:00
89cd4be1af slice assignment wasnt running the properties update function (setting object layers wasnt working from py)
also commented operator subclassing, loosing py property order.
2010-01-27 17:23:28 +00:00
a46f36b19c [#20792] MMB emulation, release broken
Store last mmb event value to make emulation work when modifier keys are released first.

This is done in a not so nice way for now. Eventually, I'd like for emulation keys to have their own data structures (user creatable and all that)
2010-01-27 17:01:41 +00:00
c896f1aa43 [#20808] r26221 - Cannot remove shortcuts in user preferences @ modified configuration
keymap in context was wrong after modal keymap was shown.
2010-01-27 16:13:05 +00:00
39fa9ecd1a Fix #20651: 3D Cursor resets after add object operator redo. The 3d cursor
is not getting an undo push, so also made it preserved now through undo's,
this is like e.g. the 3d view position which also stays the same.
2010-01-27 15:30:20 +00:00
035daa2e2d py api - utility function for vectors.
quat = vec.difference(other)

also pedantic change with enum names.
2010-01-27 15:29:21 +00:00
877251fb8c Fix #20824: vertex parent fails with subsurf on. 2010-01-27 15:09:34 +00:00
f0ec3cb4b1 Two small dragdrop fixes:
- drop material didn't send correct notifiers to refresh view
- drop material gave error print
2010-01-27 15:08:30 +00:00
aefdec6ae2 Fix part of #20090: boolean modifier would lose link to object
if evaluation failed, it should display an error message instead.
2010-01-27 14:13:01 +00:00
c070841acd Update MSVC project files 2010-01-27 13:39:56 +00:00
0e31581778 SDNA: fix for parsing struct members like:
float (*disps)[3];

It still isn't advised to use this syntax, best to just use regular pointers,
however at least it is working better now. Previously this would lead to the
rest of the header file to be included right in the SDNA. If you look into an
existing .B25.blend file with a text editor, you can see the second half of
DNA_meshdata_types.h...
2010-01-27 13:25:06 +00:00
f8200f14ae crash fix from own recent updates to Mathutils.RotationMatrix() 2010-01-27 12:53:25 +00:00
a22eb04b19 Bumped subversion for readfile patch (Anim Editors View2D stuff) 2010-01-27 11:58:04 +00:00
22f01f4761 Bugfix #20845: Grease Pencil settings lack view refresh
Added updates to Grease Pencil RNA data, and added appropriate listeners to 3D-View and Nodes Editors that were previously missing too.
2010-01-27 11:56:14 +00:00
f84f96aee5 DopeSheet and NLA Editor Scrollbar/View Bugs:
Fixed some long-standing bugs with DopeSheet and NLA Editor main views not being properly lined up with their channels, and/or showing an incorrect scrollbar. 

This fixes #20759, and probably a few other reports about similar issues that might've cropped up.

NOTE: 
- probably a version bump might be needed after this, to avoid problems on durian animation files?
- the default .b.blend needs updating again, since the saved config there doesn't get updated (or doesn't here, when using load factory settings)
2010-01-27 11:43:34 +00:00
7a95905902 workaround for running python scripts before the contexts values are set.
not happy with this but running python scripts with the -P command line could crash in simple cases (like selecting an object).
2010-01-27 11:18:55 +00:00
49abcd49f1 fix for crash when using a NULL context from python 2010-01-27 10:54:11 +00:00
2cb23d03ef Bugfix #20752: Background Image Panel Properties Keyframing?
Added a check in RNA_property_animateable() which checks if the base ID-block can have animation data or not. Screen data currently cannot have animation data, so this solves that problem (where there were non-functional entries there in the menu).
2010-01-27 10:43:14 +00:00
f268ab1eba Attempt to fix strand + new bump crash (they can't work together). 2010-01-27 10:30:10 +00:00
3937ed3050 Tweaks for Animation Editor Translations:
* Auto-snapping can now be toggled on/off using Ctrl-Key again. Defaults to turning Nearest-Frame on if no auto-snapping is enabled, since this offers the best snapping behaviour in general.

* Graph Editor's 'Draw Time' option can now be taken into account for increment snapping/stepping
2010-01-27 09:42:17 +00:00
b9cad87243 missing check for NULL poll for wmPaintCursorDraw which is allowed.
would crash when in transform and moving the mouse over another window.
2010-01-27 09:36:28 +00:00
107f6cb269 - duplicate window crasheing when it was full screen
- keymap item was missing NULL check crash
- editmode object in inactive layer crash
2010-01-27 09:16:28 +00:00
de56a63849 Fix [#20773] NODE ANIMATION: Animating node values broken
Now the compositing node tree will update on frame change if any of the 
nodes are animated.

This doesn't work for playback (i.e. alt a), that's better off waiting until we 
have some kind of frame caching system.
2010-01-27 05:42:17 +00:00
0c77490cb4 Missed these files in the last commit ..
Also meant to mention, on the todo: show the confirmation before closing the file selector, 
rather than afterwards where it's inconvenient and easy to miss...
2010-01-27 02:21:52 +00:00
904665f15b [#20728] "Export UV Layout" overwrites existing files (without feedback)
The 'save over' popup was only appearing based on a string comparison of the operator name ("Save"). Changed this to use a hidden operator property: "check_existing". Python operators must 
have this property for the file selector confirmation too.

This property can also be set to false, to prevent checking for existing files, useful in the File->Save menu item to prevent the dangerously missable confirmation popup.
2010-01-27 02:20:24 +00:00
0bb36e9ced Fixes to Color Balance node:
* The Lift/Gamma/Gain formula previously was incorrect, fixed this and 
removed conversions - now the RNA values are the same as what goes into 
the formula.
* Because of this, added the ability for the Value slider to map to a wider range 
than 0.0-1.0. The black/white gradient remains the same, in this case just 
indicating darker/brighter rather than absolute colour values. Also added ability 
for color wheels to be locked at full brightness (useful for this case, where the 
color value itself is dark).
* Added an alternate formula - offset/power/slope (asc-cdl). This fits the standard 
Color Decision List formula, here for compatibility with other systems, though 
default Lift/Gamma/Gain is easier to use and gives nicer results.
2010-01-27 00:22:29 +00:00
ebafb7e484 bugfix [#20823] Attempting to undo renaming a UV set on this scene causes a crash 2010-01-27 00:01:59 +00:00
0d69ebe878 Fix for 3d view's properties region notifier: 3D cursor position was not updated 2010-01-26 23:32:03 +00:00
58fd865744 CMake: fix MSVC debug build crash at startup when ffmpeg enabled.
A wrong libraries link order was causing this problem for
some reason. Since a sorting algorithm for linked libraries
was already implemented in Unix, I just enabled it for Windows.

Note about CMake 2.6.0: The Link Library Dependencies option
(Linker General settings panel) is automatically enabled, which
causes the Blender libraries to be linked twice because CMake
will also add them in the Additional Dependencies field.
CMake 2.8.0 does not have this problem, please upgrade if you
are still using CMake 2.6.0.
2010-01-26 22:49:59 +00:00
709b1a93e6 support for #'s for output animation paths
This was supported...
image: /tmp/foo_###_bar --> /tmp/foo_001_bar.png

But not this...
anim: /tmp/foo_###_bar --> /tmp/foo_001_250_bar.avi
2010-01-26 21:41:38 +00:00
586af8ca47 Properties for macro operator call in python.
Dicts are converted to operator properties like this:

bpy.ops.armature.extrude_forked(TRANSFORM_OT_translate={"value":(2,0,1)})

Note that this doesn't work quite well if one operator is twice in the same macro, but that's a problem at the RNA level too. I'll have to deal with that eventually.
2010-01-26 20:43:27 +00:00
b7405ce98f Fix for dropping objects in 3d view, need to set property in
sub operator in macro.
2010-01-26 19:06:01 +00:00
b119ce5fcc Drag and drop 2.5 integration! Finally, slashdot regulars can use
Blender too now! :)

** Drag works as follows:

- drag-able items are defined by the standard interface ui toolkit
- each button can get this feature, via uiButSetDragXXX(but, ...).
  There are calls to define drag-able images, ID blocks, RNA paths, 
  file paths, and so on. By default you drag an icon, exceptionally 
  an ImBuf
- Drag items are registered centrally in the WM, it allows more drag 
  items simultaneous too, but not implemented

** Drop works as follows:

- On mouse release, and if drag items exist in the WM, it converts 
  the mouse event to an EVT_DROP type. This event then gets the full 
  drag info as customdata

- drop regions are defined with WM_dropbox_add(), similar to keymaps 
  you can make a "drop map" this way, which become 'drop map handlers' 
  in the queues.
- next to that the UI kit handles some common button types (like 
  accepting ID or names) to be catching a drop event too.

- Every "drop box" has two callbacks:
  - poll() = check if the event drag data is relevant for this box
  - copy() = fill in custom properties in the dropbox to initialize 
    an operator
- The dropbox handler then calls its standard Operator with its 
  dropbox properties.

** Currently implemented

Drag items:
- ID icons in browse buttons
- ID icons in context menu of properties region
- ID icons in outliner and rna viewer
- FileBrowser icons
- FileBrowser preview images

Drag-able icons are subtly visualized by making them brighter a bit 
on mouse-over. In case the icon is a button or UI element too (most 
cases), the drag-able feature will make the item react to 
mouse-release instead of mouse-press. 

Drop options:

- UI buttons: ID and text buttons (paste name)
- View3d: Object ID drop copies object
- View3d: Material ID drop assigns to object under cursor
- View3d: Image ID drop assigns to object UV texture under cursor
- Sequencer: Path drop will add either Image or Movie strip
- Image window: Path drop will open image


** Drag and drop Notes:

- Dropping into another Blender window (from same application) works 
too. I've added code that passes on mousemoves and clicks to other 
windows, without activating them though. This does make using multi-window
Blender a bit friendler.

- Dropping a file path to an image, is not the same as dropping an 
Image ID... keep this in mind. Sequencer for example wants paths to 
be dropped,  textures in 3d window wants an Image ID.

- Although drop boxes could be defined via Python, I suggest they're 
part of the UI and editor design (= how we want an editor to work), and 
not default offered configurable like keymaps. 

- At the moment only one item can be dragged at a time. This is for 
several reasons.... For one, Blender doesn't have a well defined 
uniform way to define "what is selected" (files, outliner items, etc). 
Secondly there's potential conflicts on what todo when you drop mixed 
drag sets on spots. All undefined stuff... nice for later.

- Example to bypass the above: a collection of images that form a strip, 
should be represented in filewindow as a single sequence anyway. 
This then will fit well and gets handled neatly by design.

- Another option to check is to allow multiple options per drop... it 
could show the operator as a sort of menu, allowing arrow or scrollwheel 
to choose. For time being I'd prefer to try to design a singular drop 
though, just offer only one drop action per data type on given spots.

- What does work already, but a tad slow, is to use a function that 
detects an object (type) under cursor, so a drag item's option can be 
further refined (like drop object on object = parent). (disabled)


** More notes

- Added saving for Region layouts (like split points for toolbar)

- Label buttons now handle mouse over

- File list: added full path entry for drop feature.

- Filesel bugfix: wm_operator_exec() got called there and fully handled, 
while WM event code tried same. Added new OPERATOR_HANDLED flag for this. 
Maybe python needs it too?

- Cocoa: added window move event, so multi-win setups work OK (didnt save).

- Interface_handlers.c: removed win->active

- Severe area copy bug: area handlers were not set to NULL

- Filesel bugfix: next/prev folder list was not copied on area copies

** Leftover todos

- Cocoa windows seem to hang on cases still... needs check
- Cocoa 'draw overlap' swap doesn't work
- Cocoa window loses focus permanently on using Spotlight
  (for these reasons, makefile building has Carbon as default atm)

- ListView templates in UI cannot become dragged yet, needs review... 
it consists of two overlapping UI elements, preventing handling icon clicks.

- There's already Ghost library code to handle dropping from OS 
into Blender window. I've noticed this code is unfinished for Macs, but 
seems to be complete for Windows. Needs test... currently, an external 
drop event will print in console when succesfully delivered to Blender's WM.
2010-01-26 18:18:21 +00:00
722f57ca75 Fix Blend From Shape having no effect after exiting edit mode.
Also added a UI string for mesh selection mode property to show
up in undo stack.
2010-01-26 17:39:45 +00:00
d5ca236948 Typo in error string 2010-01-26 17:37:44 +00:00
32fdc12923 Fix #20831: setting shadowbuffersize to 10240 only possible via typing it in. 2010-01-26 17:14:13 +00:00
655800bbab Typo in function declaration causing warnings. 2010-01-26 17:09:32 +00:00
246bcf48ad weight panel editing now supports mirroring
- use mirror when the option is enabled in editmode.
- fliped group names are used when they exist.
- only the setting that is edited will be applied to the mirrored verts group.
- copy value is applied to all mirrored verts of the selection.
- normalize normalizes all vgroups and mirrors.

utility functions defvert_sync and defvert_sync_mapped, similar to defvert_copy but does not remove existing groups and optionally creates groups as needed.
defvert_sync_mapped uses a an int array for mapping the flipped values.
2010-01-26 17:07:47 +00:00
e308fe9632 Fix #20805: L selection in edit mode with bezier doesn't work. 2010-01-26 17:06:28 +00:00
217c2638cc Update MSVC project files 2010-01-26 16:31:00 +00:00
8d6a40c016 Fix #19802: tweaking the values of e.g. the add tube operator when
entering editmode on a second mesh would create a duplicate tube.

Cleaning the undo stack from the previous mesh would mess up the redo.
Also, OBJECT_OT_mode_set was causing enter/exit editmode undo push to
be done twice, now it leaves undo push to the operator it calls.
2010-01-26 15:54:42 +00:00
dcf54b9b66 Fix for missing space between colon and number in sliders buttons. 2010-01-26 15:44:27 +00:00
bffad18da8 [#20046] 2.5 "bridge faces" tool doesn't delete original selection
remove this script, its not good enough, remove grease pencil retopo also.
2010-01-26 14:39:01 +00:00
058f68de10 Fix #20049: mdef binding wasn't working correct since raytrace optimization. 2010-01-26 14:08:19 +00:00
641774436f am learning bad spelling from blender. grr 2010-01-26 14:00:13 +00:00
e307f6c6a0 rename defgroup functions to be more consistant.
* no functional changes *
2010-01-26 13:50:17 +00:00
50a7cdd116 Fix attempt to free already freed memory when loading an animation
in the sequencer, was in the code that tests if it's a file that it
understands. Didn't cause a crash here though, just warning.
2010-01-26 13:17:28 +00:00
c8eaae0bd7 Fix #19580: text editor - current line is dependent on the
text datablock, not the editor.
2010-01-26 12:12:31 +00:00
8f6ce8c2d3 bugfix [#20401] Hair Combing with "Limit Selection to Visible" does not comb all particles
Limit selection was totally broken (border select, circle select etc) because the depth function was using the view matrix multiplied by the object matrix.
I couldnt find any case where this was needed, but take care when using data->mats.modelview from particle mode edit tools.
2010-01-26 11:51:28 +00:00
38111eb224 Patch #20800: uv editor zoom rate not properly calculated,
uv's were drawn slightly offset from the image. Patch by
Masahito Takahashi, thanks!
2010-01-26 11:36:48 +00:00
009304523e bugfix [#20674] SegFault from console 'c = data.texts["text1"].copy()' 2010-01-26 11:29:39 +00:00
4efed23517 Use #include "BLI_math.h" instead of _USE_MATH_DEFINES to get M_PI defined. 2010-01-26 11:25:39 +00:00
7c776bc124 Fix for make duplicates real, put new objects on same layers as
duplicator instead of original object.
2010-01-26 11:23:47 +00:00
fb8d6b9f7a Rigify:
- Removed control-shape deformation bones from the spine rig (no longer necessary thanks to the new "custom shape at" feature).
- Various improvements to the mouth rig, including a corrective shape key for mouth-open.
- The new method of generating into the same armature object every time wasn't copying pose bone data in the process, such as rotation mode and transform locks.
2010-01-26 11:17:41 +00:00
5fe3524ab1 Fix #20803: convert button in particle modifier didn't work
for creating duplis yet.
2010-01-26 11:15:45 +00:00
50e324c5d0 Rename Beauty Fill to Beautify Fill like in 2.4x, more accurate
description of what it does since it doesn't actually fill, only
change an existing one.
2010-01-26 11:14:44 +00:00
26d8b59864 Assign automatic/envelope weights in weight paint mode is back,
accessible from W key and in new Weights menu in the header.
2010-01-26 11:11:53 +00:00
5a1603374c Bugfix #19344: Using the scroll bar zoom widget doesn't work in some situations
Zoom widgets now only show if the scrollbar only shows scale markings (i.e. timegrids).


---

Also removed an empty header file.
2010-01-26 10:52:42 +00:00
e03bbf12c3 Assorted Bugfixes:
* Adding new Keying Set paths didn't initialise the id-type setting. Make this default to Object
* Fixed bad poll callbacks for Graph Editor operators working on keyframes, which were expecting F-Curves to be selected too to be eligible for editing. This was often too restrictive, resulting in nothing happening.
* Fixed error with default property for Debug Redraw-Timer Operator not being set. However, this operator is currently still no use, since the info popups are now disabled.
2010-01-26 10:29:10 +00:00
4e92b69411 set the keymap to NULL if its not found so as not to use it un-initializes. 2010-01-26 10:14:39 +00:00
e6c4aee39a Fix [#20827] c26276 RMB on "clear" command in console menu crashes blender 2010-01-26 10:06:22 +00:00
9cbbeb2d65 modifier.c has all its vergex group index lookups inline, use get_named_vertexgroup_num() instead.
no functional changes.
2010-01-26 09:36:33 +00:00
0e1eca2d08 Finishing off the Transform code changes for Degrees/Radians:
Added flags for the mapping function offering more control over what values were affected and when. In the WIP code, the values for unselected verts were getting the restoration conversion being repeatedly applied, resulting in the values tending to zero.
2010-01-26 09:25:32 +00:00
3150e4ee12 update tagged objects in the scene after calling each operator, this makes running a set of recorded operators work as expected. 2010-01-26 08:41:16 +00:00
07a4986be7 WIP commit - degree conversions for transform fcurve editing - grabbing a point works fine, but still
issues with grabbing a single handle.

Using the Radians unit setting still goes fine though so you can use that for now.
2010-01-26 05:58:03 +00:00
a1ea4ba717 [#20822] r26267 win32 - LMB cancels zoom in camera view
Very interesting bug caused by an extra redraw.
2010-01-26 03:29:07 +00:00
991d8a8fe3 Fix compilation problem (I'm guessing this is the intention in this line) 2010-01-26 03:23:15 +00:00
14d4feca57 Radians vs Degrees: The Second Attempt
F-Curves now internally store radians again instead of degrees. 
- This solves problems with inconsistencies when working with drivers.
- No need to version patch old files, potentially screwing them up. As such, removed the version patching for F-Curves.
- Is better suited to optionally showing radians throughout the UI instead or degrees.

As a result, values are now converted on the fly in the Graph Editor for display and operators that operate on values. I've made the conversion system for this rather general, so that other unit type conversions can also be hooked up with the type conversion backend.

Also, made some tweaks to F-Curve RNA wrapping to make it represent the data better.

TODO:
- Transform code currently still needs to be corrected to work with these changes. Currently moving keyframes for rotation curves will make them change too rapidly vertically when using degrees.
2010-01-26 03:16:14 +00:00
e6a23762da Fix [#20821] COLOR MANAGEMENT: Corrupts motion picture files
Wasn't tagging movie formats with profiles properly.
2010-01-26 02:49:30 +00:00
ba2257b57e Fix [#20798] - Add/change/remove shortcut options dissapearing from buttons @ Tool Shelf
Made the RMB menus for manipulating shortcuts a bit more robust (only dealing with mouse 
clicks/key events, rather than all tweaks/timers/etc) and added ability to add key shortcuts for 
transform tools from the RMB menu.
2010-01-26 01:02:10 +00:00
aba738aa34 Small fix: Always show the 'brush' button in texture panel, so it's possible to turn it off in object mode. 2010-01-26 00:59:53 +00:00
56e5f2c5d5 remove line added previous commit, Cancel for view rotate button should be Confirm 2010-01-25 23:57:08 +00:00
33623ba3a3 panel for adjusting the active vertex groups weights 2010-01-25 23:12:02 +00:00
9cd3ab1e0c Bugfix #20817: Graph Editor, Drivers: Driving a Shapekey by a bone rotation: Unable to add modifiers
Wrong filters were used for F-Curves for adding the modifiers. Now the Graph Editor curve visibility settings are only taken into account for this when the hotkey version (i.e. only_active == False) is used, which means that the button works again.
2010-01-25 23:11:01 +00:00
d693d67206 Forgot to remove this case earlier. Thanks to Jonathan Smith for the reminder. 2010-01-25 22:47:43 +00:00
d440990414 Fix #20820: multires subdivide crash. 2010-01-25 21:58:00 +00:00
abd9a59af4 netrender: utility function to extract information from a blend file on disk. Used to get render resolution for jobs in the web interface (lazy init). 2010-01-25 21:10:33 +00:00
4907e8df20 Remove unneeded notifier data added in revision 26219.
Fix a lot of notifier calls to stop abusing ND_TRANSFORM and use more appropriate data flags.
2010-01-25 19:42:33 +00:00
c72fcc759b More fixes for radians-degrees, wasn't converting pose channel constraints
properly yet, also did conversion ik min/max limits.
2010-01-25 18:38:09 +00:00
c91a0f8adf make exception a bit nicer (since wiki docs dont make much sense how it was before) 2010-01-25 18:09:46 +00:00
905a238075 Fix for radians-degrees version patch, more testing should have gone
into this before committing:

* Subversion was not increased, meaning that conversion would be applied
  even on files saved with the new version.
* Drivers were not converted.
* FCurve generator modifiers were not converted.

This seems to cover all cases we found for Durian, if another conversion
is needed for this, be sure to increase the subversion number and do it
in a separate if() test, otherwise files will break.
2010-01-25 17:51:21 +00:00
c74440f198 Use modal keymap events for transform numinput increment and decrement 2010-01-25 17:48:02 +00:00
52284155e1 undo would often crash when filter_group was used.
conversion wasnt included in lib_link_screen_restore
2010-01-25 17:24:04 +00:00
623ea4931c Fix for recent commit, crash on entering edit mode. 2010-01-25 16:42:04 +00:00
5e683ef979 fix for weight paint bug with constructive modifiers. eg. weight paint with mask or build modifier would fail 2010-01-25 15:47:19 +00:00
673b7030ee Smoke:
* UI updates for my last commit by nudelZ
2010-01-25 15:24:48 +00:00
83dfade37a Smoke: The well known Miika Hämäläinen (aka MiikaH) patch (http://blenderartists.org/forum/showthread.php?t=158317&page=42)
* Better (and windows enabled) OpenMP handling (> 2x-5x speed)
* More Volumetric Texture mapping options (heat, etc) <-- Matt if that's not to your liking, just revert that part, it's separate anyway
* Initial velocity taken from particle settings (no more slow starting)
* Option to select compression method (there seem to be a bug in my high compression usage, at least it's been reported to result in exploding smoke - better use low compression for the time being)

It's been tested since a while but as usual please report any (new!) bugs. ;-)
2010-01-25 15:10:14 +00:00
4b71eaa4d1 Show Cone option for spot lamps, to visualize which objects are being affected. 2010-01-25 14:47:32 +00:00
ede3f0285d Rigify now generates the rig into the same armature every time, so you don't have to re-hook-up things like armature modifiers, parenting, etc.
By default the generated rig object is named "rig".  But you can add a custom "rig_object_name" property to the metarig to specify the name of the object to generate into.
2010-01-25 14:19:12 +00:00
ab5a985cfe * Added #define _USE_MATH_DEFINES
in some files to get Blender to compile again on msvc. Without that, it didn't found M_PI.
2010-01-25 13:19:52 +00:00
cbb23d96bb Added simplification back for quicker preview renders with less subdivision
levels, child particles, and shadow/SSS/AO quality.. Now also works on what
is displayed in the 3d view instead of only rendering, see panel in the scene
properties.

Most file changes were to make scene available in the isDisabled modifier
callback function.
2010-01-25 11:39:56 +00:00
aab5a7a4af Bleh... second attempt at getting this right! 2010-01-25 11:15:04 +00:00
8961ef09ec Bugfix for Rotation Keyframe version patching:
Use strstr not strcmp, since RNA paths are not purely property names.
2010-01-25 11:09:41 +00:00
3b446ed4e4 Durian Request/Bugfixes: Graph Editor Zooming doesn't go far enough
Pushed limits for Graph Editor view extents to proper limits, and fixed clamping used in View2D code which was preventing height of View2D viewports from getting below 1.0
2010-01-25 11:06:55 +00:00
7eb5504d79 scene.update() rna function, so operators and data thats tagged for update get their data updated.
dont show popup for 'Load Factory Settings'
2010-01-25 10:20:41 +00:00
5844560ec2 Restored missing PoseMode Operators:
* Select Grouped 
Selects bones in the same layer or same group as the selected ones. Optimised the code for the select same groups too.

* Flip Quats
Flips quaternion values so that the rotation progresses over a different path while maintaining the same endpoint orientations.
2010-01-25 10:16:36 +00:00
41499247db Add option to choose between radians or degrees for rotation units in the UI.
Setting is in Scene->unit settings with the others, degrees by default.
2010-01-25 10:05:17 +00:00
0a0f4c9d81 Mathutils refactor & include in sphinx generated docs, (TODO, include getset'ers in docs)
- Mathutils.MidpointVecs --> vector.lerp(other, fac)
 - Mathutils.AngleBetweenVecs --> vector.angle(other)
 - Mathutils.ProjectVecs --> vector.project(other)
 - Mathutils.DifferenceQuats --> quat.difference(other)
 - Mathutils.Slerp --> quat.slerp(other, fac)
 - Mathutils.Rand: removed, use pythons random module
 - Mathutils.RotationMatrix(angle, size, axis_flag, axis) --> Mathutils.RotationMatrix(angle, size, axis); merge axis & axis_flag args
 - Matrix.scalePart --> Matrix.scale_part
 - Matrix.translationPart --> Matrix.translation_part
 - Matrix.rotationPart --> Matrix.rotation_part
 - toMatrix --> to_matrix
 - toEuler --> to_euler
 - toQuat --> to_quat
 - Vector.toTrackQuat --> Vector.to_track_quat
2010-01-25 09:44:04 +00:00
eed13d859b Added a 'linked' icon to modal key maps, to communicate better that they're
instantiated. Helps [#20778] [2.5 - r26180] "Gesture Border" items in user 
preferences panel are not unique
2010-01-25 07:19:28 +00:00
769ec8aa1e Fix for bug in drivers, introduced in previous commit. 2010-01-25 07:05:02 +00:00
6b9615edaf Fix [#20786] Added widget on toolbar does not remove
Fix [#20794] Can't save my file by pressing "Enter" button

- removed the ability to activate a text field by pressing enter when the mouse is over it. This wasn't that practical and now allows the convenient 2.4 behaviour in the file selector filename field, of pressing enter twice to save.
2010-01-25 06:48:04 +00:00
0c5998e799 Radians -> Degrees (in UI)
Rotations are now stored internally as radians, while exposing degrees in the UI - 
in the graph editor and UI controls. This is done in two areas:
1) Using the unit system to convert RNA data to display as degrees in the UI controls
2) FCurves now use degrees for rotation, so you can edit in the graph editor what 
you see in the UI.

All rotation data is consistently accessible in DNA and RNA as radians, degrees are only 
used for the UI controls and graph editor.

This commit includes conversions will convert old files (stored data and also fcurve data) 
to the new units, hopefully everything should go smoothly!

Part of this also changes a few properties that were hard-coded as degrees before (such 
as IK pole angle and brush texture rotation) to also use the same consistent system of 
radians (dna/rna) and degrees (ui).

Thanks to Joshua for hints and review here too.
2010-01-25 06:24:05 +00:00
c94f385fce Bugfix #20806: Remove button removes entire bone group not bone from group
Thanks to kristijonas vaicekauskas (krizas)  for the patch
2010-01-24 23:18:48 +00:00
1deecdb968 Bugfix #20782: Animating two materials on a mesh--only first material's keyframes show up in f-curves editor
Wrong indices were being used to reference materials, resulting in too few materials showing up. It seems that at some point since coding this in the 2.4 codebase and now, the range has changed from [0, totcol) to [1, totcol].
2010-01-24 23:08:38 +00:00
265b9344ca Forgot to rename use_return in this script as well. 2010-01-24 19:30:54 +00:00
8923ba92e1 unlinking objects from a scene in python wasnt notifying the outliner which would crash on redraw. 2010-01-24 17:40:05 +00:00
120c72e368 remove deprecated functions 2010-01-24 13:11:43 +00:00
7389bd53f9 Update MSVC project files 2010-01-24 13:03:49 +00:00
2cfd3b6586 copy of docs from 2.4x for python modules that have been kept 2010-01-24 12:58:38 +00:00
0fadd5052a Forgot this (rename use_return to use_output) 2010-01-24 11:02:43 +00:00
9733e902a5 RNA functions
Fixed and completed support for returning multiple values. This includes support for returning arrays, both fixed and dynamically sized. The way this is achieved is by storing an additional int value next to the dynamic parameter in the ParameterList stack which gets passed to the C function as an additional parameter. In the case of return parameters it is duty of the C function to set this int to the correct length value for the dynamic parameter (which makes sense). Note that for the dynamic output/return parameter it is assumed the function has allocated that memory (which gets freed automatically).

Also, I cleaned the makesrna's bridge function generation code a bit and renamed PROP_RETURN to PROP_OUTPUT, which represents better the reality now that there are multiple returns. The function now to mark multiple returns (outputs) is RNA_def_function_output.

For an example, look at Action.get_frame_range in rna_action_api.c, by the way Aligorith I removed the #ifdef for this function now that there's support for returning arrays, feel free to modify (the function seems to work).
2010-01-24 10:51:59 +00:00
7c21eb7cd5 Bugfix #20664: NLA Editor - Hiding stuff causes instant crash .. 2010-01-24 10:18:16 +00:00
b4640bf419 Bugfix #20776: Segfault Driving a Shapekey in Graph Editor > Drivers > Selecting the Bone
ID-Type for Driver Targets should sometimes not be editable, otherwise, users could set invalid datablocks, leading to crashes.

Added missing checks for this to prevent this happening again.
2010-01-24 09:58:30 +00:00
ac38eba721 NLA Editor: Sync Action Extents with Referenced Range
This operator can be accessed from the "Action Clip" panel, and is used to include keyframes that have been added to a strip already in the NLA. Although this is not a recommended workflow, having this ability is useful at times.
2010-01-24 06:28:53 +00:00
351d239ac7 View3d transform was sending a too-general notifier to redraw, causing several animation editors and the property editor to redraw too, which can really slow things down. added a more specific ND_VIEW3D_TRANSFORM notifier to solve this. 2010-01-24 04:26:01 +00:00
27db00bf18 remove own experiemental code 2010-01-24 02:59:09 +00:00
22f7c8b1cd support for compiling blender without python working again (with cmake at least) 2010-01-23 20:43:55 +00:00
9d96399eeb - panel python template
- nicer syntax to capitalize words
2010-01-23 18:51:56 +00:00
6695334377 COLLADA branch: patch for importer from Sergey I. Sharybin to build against OpenCollada at revision 721. Thanks Sergey!
People who want to build this branch will need update their OpenCollada.

On Linux OpenCollada builds without patching. As usual I updated the build doc: http://wiki.blender.org/index.php/User:Kazanbas/Building_Collada_Branch#Building_the_COLLADA_GSoC_branch

A small change will be necessary in cmake and scons options on Mac and Windows: OpenCollada's libBuffer was renamed to libbuffer.
2010-01-23 17:33:40 +00:00
9feadd443a Small fixes for particles.
* Particle collision with size was broken since raytrace optimizations by jaguarandi, now the collision code falls back to old slower method when the collision ray has a radius.
* Single goal/avoid object now works for boids.
* Some tiny improvements on collision avoidance for boids.
2010-01-23 15:45:01 +00:00
1bb6ba0605 Thread queue: use _ftime to get current time on windows, same as
pthreads-win32 test suite.
2010-01-23 14:29:56 +00:00
10b1b61306 compile fix 2010-01-23 13:57:54 +00:00
ea1b97a184 COLLADA branch: partial fix of bug #20634
* scale and rotation of objects with negative scale is exported correctly. This is accomplished by:
** if ob has no parent, use ob->rot, ob->scale values directly
** if ob has a parent, a local matrix is computed without scale and rotation is derived from it, scale value is copied directly from ob->size

Noted a few other bugs:
* importer suffers from negative scale problem too
* bones with negative scale are exported incorrectly too
* object animation values are copied from FCurves which is not ok for child objects where values should be in parent-space
2010-01-23 12:45:54 +00:00
c71ace02c2 accidentally commited a patch that modifies wait_timeout, which I've not thourougly tested, but I'm not reverting it since it's needed to make msvc compile. it's only used if compiling with windows anyway. patch by mitchel stokes. 2010-01-23 11:32:21 +00:00
7ef85aa41f Initial results of my profiling of the animation system.
Basically two simple changes, changes, I pulled in the faster 
ghash in bmesh (which uses mempools for allocation, providing 
a substanstial speedup in some cases, and also I inlined some
of the functions), and I changed __inline to __forceinline for inlining
of math functions.

I also removed the timer in the view3d zoom op (ctrl-middlemouse)
that was making it nonfunctional.  Why was that there?
2010-01-23 11:25:20 +00:00
f66d5a7b77 Animation Editors: DopeSheet filtering option to only include Objects that are members of the specified group
Between the datablock filtering options and the auto-snapping menu in the headers of Animation Editors, there is a new toggle for enabling this new feature (only when there are groups in the scene). Enabling this, a field to enter/select a group in the scene to filter with, will appear beside it. 

This feature has been added to make it easier to manage animating multiple character shots in Durian. 
By assigning the rigs of several bandits to a single group, or Sintel and her staff to another group, or Sintel and the guardians to another group, and so on, it is possible to filter the animation data shown in the editors to a useful subset of the total motion in the scene. 

This makes it easier to retime or edit the motions of one set of characters and their props without affecting the motions of other no-related objects. The downside is that there is a bit more setup work required upfront, but that's probably a small price to pay for some groupings that may be useful in other ways too later (perhaps for compositing or lighting work).
2010-01-23 03:57:11 +00:00
42c8448fe6 Durian Request: Expansion of Action Groups not linked between DopeSheet editors and the Graph Editor
Action Groups can now be expanded/collapsed in DopeSheet editors without the same thing happening in the Graph Editor, and visa versa. 

This should help improve the workflow, since the channel lists are generally kept more compact in the DopeSheet, while they are more expanded in the Graph Editor, so less time is spent expanding/collapsing stuff. Also this should hopefully alleviate some of the errors from accidentally deleting and then having to restore channels that were not intended to be deleted.

Also, switched the order of the expand/collapse hotkeys (in the channels list region) for channels so that Ctrl +/- now expands/collapses selected channels only, while +/- expands/collapses all channels. This should make it more convenient to quickly open up all groups to select F-Curves for the Graph Editor.
2010-01-23 03:04:37 +00:00
2f6a158d21 when python calls an operator, return a set from the operator flag, this matches the set that python operators themselves return. eg.
{'MODAL'} or... {'FINISHED'}
2010-01-23 01:02:53 +00:00
8dd14e1eed Graph Editor: Bugfixes for option where only the keyframes of selected F-Curves are shown
* Selected keyframes in unselected F-Curves were still being modified, although not shown
* Selection tools for keyframes were changing the selection status of F-Curves, making keyframes sometimes disappear after trying to select another keyframe

* Warning fixes in a few other files
2010-01-22 23:51:31 +00:00
f0d89a041f bugfix [#20774] ctrl+alt+f switches to Object mode if you are in local view 2010-01-22 21:57:41 +00:00
5badcca867 bugfix [#20767] Particle edit mode crashes
& missing include added
2010-01-22 21:40:31 +00:00
8038171919 bugfix [#20771] Blender crashes after using pop-up color selection dialog in Texture Paint 2010-01-22 16:47:52 +00:00
86facbd682 Change order of linking slightly so things link.
Kent
2010-01-22 16:28:16 +00:00
3b09e73e58 - bugfix (user supplied fix) [#20745] makesrna with rename error.
- error with last commit, length had an index arg.
2010-01-22 14:59:01 +00:00
c6979aa0f4 continue when there are errors on reloading scripts 2010-01-22 14:43:08 +00:00
ad65d6995c use string/int/length lookup functions for bpy.types, gives 20-30% overall startup time speedup on my system. 2010-01-22 14:06:42 +00:00
8ec59c7c68 Math Lib:
* inline some more functions, from math_base and math_vector
* also made some changes to the way inline is done so it can
  work for more than one file
* reflect_v3_v3v3 requires input vectors to be normalized now.
* added rgb_to_grayscale
* added zero_v4, copy_v4_v4, swap_v4_v4, is_one_v3
* added box_clip_bounds_m4 to clip a bounding box against a
  projection matrix
2010-01-22 11:10:24 +00:00
2d2339a709 Threads: added queue for passing data between threads. Includes a function
to wait for an item to be put in the queue and then pop immediately without,
this makes it possible to avoid sleep() while waiting for the results of a
thread.
2010-01-22 11:06:57 +00:00
cbc4aae06a Fix crash rendering grass_wind.blend from regression tests. The real
problem is that where_is_object is being called from multiple threads
but is not thread-safe, added a note about this problem, this commit
only solves the crash. Also remove the pushdata/popdata mechanism
that was being used here, using this kind of system is bound to give
problems with threading.
2010-01-22 11:03:55 +00:00
00318eaa2e RNA: added option to pass self ID to RNA functions. 2010-01-22 10:58:02 +00:00
0c2d03e69f Fix MEM_testN not unlocking mutex correctly, unlikely to lead to
problems in practice but might as well fix.
2010-01-22 10:56:50 +00:00
70d5215602 Workaround for crash when rendering particle systems, don't draw objects with
particle systems in the 3d view while rendering, this will recompute the particles
in the modifier stack, while these are being manipulated by the render engine
at the same time... a better fix is needed clearly but quite difficult.
2010-01-22 10:52:37 +00:00
38aacb92f3 Cleaned up some printfs in editors/ - converted some to reports, hid others behind G_DEBUG. 2010-01-22 06:48:29 +00:00
0de9b98a31 Fixed newly added group instances not getting any layers assigned. 2010-01-22 04:52:32 +00:00
96b5658d0c Fix [#20756] Texture painting on 3D tends to forget textures in the new texture menu.
Part of this fix (loading files with brushes/textures) will only apply for new files saved after this commit
2010-01-22 04:21:46 +00:00
0db45111ce Transform numeric input: increment initialize input if needed.
Reported by Aligorith on irc
2010-01-22 02:50:40 +00:00
e52084ced4 error message error 2010-01-22 02:24:58 +00:00
fe72f01d2f Added an icon for solidify modifier. Maybe if Jendryzch is around, he might
want to make a better one :)
2010-01-22 02:23:28 +00:00
7f1a8a947d initial sphinx doc generation support for python and C modules.
python modules bpy.app, bpy.utils are now included in docs.
C defined python module bpy.props has its docstrings extracted and written directly into sphinx docs since the C methods cant be inspected.

added docstrings to bpy.props and improved some in bpy.utils.

will update online docs tomorrow.
2010-01-22 02:04:25 +00:00
68874c9aa4 Fix [#20762] Problem When Font PreviewU resolution is set to 0 2010-01-22 01:30:06 +00:00
2c565ec48a Fix [#20538] exiting render turns my UV/image editor back to a 3d view 2010-01-22 01:02:11 +00:00
3e95d9cf65 Added Hue and Value modes to Hue Correct node, alongside existing
Saturation. Works the same way, selectively hue shifting or darkening/
brightening pixels based on their original hue.

Example:
http://mke3.net/blender/devel/2.5/hue_correct_hue_val.jpg
2010-01-21 22:23:57 +00:00
52858b7e66 [#20700] Transformation Increments
Patch by Jonathan Smith

When using numerical input, up and down arrow keys increment and decrement the value by the transform increment amount (grid for grab and so on).
2010-01-21 22:20:49 +00:00
b400703403 Macro operator properties using property groups in groups (initial code by brecht).
Works correctly with menu, keymap definitions and keymap export/import.

Properties set in the macro definition overwrite those set by the user (there's no way to see that in the UI at this point).

MISSING: Python operator calling code to fill in the properties hierarchy.

Also contains some keymap export changes by Imran Syed (freakabcd on irc): the exported configuration will use the name of the file and the exported script will select the added configuration when ran.
2010-01-21 21:58:40 +00:00
0d4583365a Fix bug in IDP_ReplaceGroupInGroup (it would sometimes add the same property twice).
Also simplify some other loops.
2010-01-21 21:01:18 +00:00
8f3f1da080 - temp marker rename in menu (using python or the outliner isnt fun)
- marker selected property
- rigify error formatting error
2010-01-21 19:43:27 +00:00
8c0dff6bc3 Continuous grab in X11 could give events to a different window if the mouse was moved very fast (before it warped) or if there was another blender window with the same process set to always on top.
call XGrabPointer with owner_events set to false so mouse events are given to the window that initiated the grab.
2010-01-21 18:32:34 +00:00
1425a9f6bc uninitialized value causing crashes when getting the image extension. 2010-01-21 14:08:07 +00:00
48f48fa814 Fix crash in histogram in image window when image buffer contains
NaN values, now clamps integer instead of float to prevent this.
2010-01-21 13:06:44 +00:00
e9b0956b55 Adjust material strand size ui range to show some more precision,
these values need to be very small for blender units.
2010-01-21 12:07:15 +00:00
ba8269c5f6 fix for baking crash 2010-01-21 11:49:02 +00:00
b33fd1cd1a bugfix, crash when rendering normally and then with the opengl view. 2010-01-21 11:34:36 +00:00
9d54d6ba4e Patch #20693: add parameters for FPS and wait timer for screen cast
This patch by Guillaume Lecocq (lguillaume) adds user preference settings for setting the playback frame-rate and delay between captured frames for the screencasting feature. 

-- 

I've made a few tweaks for a few minor issues
- Made DNA vars for these settings shorts instead of ints, reducing the number of unnecessary extra pad vars 
- Added version patching to ensure that these settings are initialised by default
- Made tooltips for the settings more descriptive
2010-01-21 10:28:19 +00:00
da3abc78a2 Fix [#20744] Turning on Shading in Themes adversely affects display of color swatches 2010-01-21 05:14:05 +00:00
1ad61f32aa Fix [#20750] adding Lattice object in Local space doesn't appears
Now add object operators take a layer parameter (hidden in UI) to determine their layer when created.
2010-01-21 04:54:52 +00:00
7ad7820f7f Added a new notifyer, NC_SPACE_CHANGED, to signal an editor that
replaces another so it can do updates (e.g. dopesheet editor can
sync channel selection).

Also coded a simple optimization for allocating small objects,
based on mempools.  It's #ifdef'd out, you can enabled it by 
defining OPTIMIZE_SMALL_BLOCKS (e.g. adding -DDOPTIMIZE_SMALL_BLOCKS to
your compiler flags).

We suffer from a great deal of performance loss from the system allocator
(vgroups, ghash, edgehash, the singly-linked list implementation in blenlib,
editmesh, and likely a great many areas I'm forgetting), and this is the 
common solution for handling the many-small-objects problem.  It's not
really production-ready yet (it's long-term memory consequencers need to
be profiled first, and the implementation tweaked as necassary), but for
people on systems with slow system allocators it's worth trying.

Note that since this creates a guardedalloc<->blenlib link, the build systems
need to be updated accordingly (I've already done this for scons, though I'm
not sure if the player builds).
2010-01-21 03:08:57 +00:00
467cece2c1 Fix for key map python file export and load
Contributed by 'freakabcd' in IRC.
2010-01-21 02:10:50 +00:00
e74bc901d3 Fix [#20749] Mute doesnt refresh the compositor 2010-01-21 01:42:28 +00:00
6d06f54fbe Fix [#20742] splash screen: file names over 26 characters overlap with "Ctrl O" 2010-01-21 01:30:32 +00:00
469a8d4537 SVN maintenance. 2010-01-21 00:25:01 +00:00
3e1783c715 New Compositor node: Hue Control
Was very quick to do, now re-aquainted with node editor.

http://mke3.net/blender/devel/2.5/hue_correct_node.jpg

Todo: modes for affecting hue and value on the vertical axis as well as just saturation - or if an enterprising coder wants to give it a go, let me know and 
I can help :)
2010-01-21 00:00:45 +00:00
946cdd8ff6 Proxy + Transforms Bugfix:
This commit fixes some update issues for some rig setups used for Durian, with proxies not updating correctly during transforms.

The setup involves an armature that has been proxified, which deforms a mesh in the group it came from. One of the bones in this armature is constrained to an empty that was added in the shot file.  
When the empty is moved around, the mesh does not deform in response to the armature until the transform is confirmed. 

This was because the depsgraph tagging was not comprehensive enough, since only a few cached tags got restored (but not all). For now, full depsgraph tagging is now performed for objects as they are transformed.
2010-01-20 22:21:10 +00:00
c781c3e6dc remove debug print 2010-01-20 21:21:05 +00:00
0568f608c4 Patch from Jochen Schmitt, (various distro's had patched this)
- modify the path in python rather then C
- filter returns an object in python 3, set using slice.

also import sys as _sys so it doesnt appier in aytocompleation.
2010-01-20 19:26:23 +00:00
9857ffde31 Bugfix: copying drivers did not set compiled expression to NULL, also tweak
to set it to NULL on file read instead of write as is done usually.
2010-01-20 18:27:19 +00:00
a035dafd27 fix for error with text ui when there is no text loaded. 2010-01-20 17:41:41 +00:00
2ed547be4d bugfix [#20743] crash on box select and grab with this .blend 2010-01-20 17:02:24 +00:00
0c3e5dec93 Fix action editor now updating when changing the active object. I can't work
out of this was an intentional change or not, but working with two objects
became quite tedious because action would have to be changed manually each 
time. Also fixed missing redraw of header.
2010-01-20 15:44:37 +00:00
939c3ba9cb Fix for proxy fix: copy drivers on synchronize now does proper relinking
of driver targets, sharing code with make proxy.
2010-01-20 14:28:49 +00:00
9790647ce6 BPY: fixed iteration over and slicing of multidim. arrays. 2010-01-20 14:06:38 +00:00
e7686b4cdb use a search popup for the add group menu item when there are more then 10. 2010-01-20 13:38:17 +00:00
973128dc66 Fix for crash in file selector using the 'Open' button - button was using old UI
code, changed it to operators
2010-01-20 12:28:33 +00:00
1e7858f5a0 Proxy Fix: drivers are now copied on proxy synchronization. Also for bones
on non-proxy protected layers, not sure if these should be done or not, it
depends a bit on preference.
2010-01-20 12:20:34 +00:00
d99d68684b only reallocate memory for child particles if the size changes. 2010-01-20 11:32:11 +00:00
6307c65534 Animation Editors: Restored 'Realtime Updates' toggle
- In 2.4x, this setting was the lock button in the headers. 
- Now, this option can be found in the View menus of all relevant editors

- Basically, this option toggles whether objects (using animation data that's being edited) get updated during animation editor transforms to give realtime feedback on the effects of tweaks. 
- By default, this is enabled, since this fits in nicer with 2.5's everything 'live' paradigm. However, it is recommended to disable this on slower computers or when updates for heavy rigs are causing too much workflow lag

- Also, removed some old crufty settings from action editor data
2010-01-20 11:20:20 +00:00
09424badda bugfix [#20726] "Export UV Layout" creates invalid SVG files
- use xml.sax.saxutils.escape() to give an XML compatible string.
- in some cases material indicies could be invalid. use the default material rather then throwing an error.
2010-01-20 11:08:50 +00:00
22ca6f69ca Fix for own bug, voxel data texture was freeing smoke data when it shouldn't
have been.
2010-01-20 09:57:47 +00:00
a506742386 Fix [#20737] Double-click in file dialog opens ".." directory (and fails of course) 2010-01-20 08:57:26 +00:00
02ca0fda8e Moved the image paint tool and the vertex/weight paint tool (blend mode?)
to the Brush data. This now works the same way as sculpt, with named 
preset brushes that retain settings.
2010-01-20 08:30:40 +00:00
e8b123a1e4 Fix [#20739] zooming error for hint messages
Don't scale down text in tooltips, more readable this way anyway.
2010-01-20 06:47:47 +00:00
85307388bc Fix [#20602] Cluttered UI in modifiers
Split modifier header on two lines only if available space is low
2010-01-20 05:41:59 +00:00
8830528b02 Forgot to add the new file 2010-01-20 04:29:00 +00:00
1d3186cbcf Durian request: Added 'Color Balance' node to compositor. uses Lift/Gamma/Gain
similar to sequence editor.

--> http://mke3.net/blender/devel/2.5/color_balance_node.jpg

Also added 0 key (zero key) shortcut when mouse is over a button, to reset it to its default value.
Same as the RMB menu ->Reset to Default, except for color wheels, it only resets the hue/sat/value
components that that widget affects.

Peter/Xavier: The existing color balance code can generate NaNs (fractional power of a negative),
which causes havoc along the image pipeline. I added a check in the node code to prevent this.

Still plenty of potential for lots of better colour correction tools in the compositor, just needs time...
2010-01-20 04:19:55 +00:00
8bcf66e1d1 CMake:
* Added -Wno-unknown-pragmas to the cflags, silences warnings when OpenMP is diabled.
2010-01-20 03:46:28 +00:00
26bc442881 Bugfix for Driver Evaluation:
* Current value for drivers didn't get stored, which meant that the debug value never got updated to reflect the current state.
* Min/Max variable types were not working
2010-01-20 00:54:06 +00:00
e80fe46d7d Bugfix #20738 - Mask modifier: Armature mode still shows "Vertex Group" as title. 2010-01-20 00:31:34 +00:00
a8855e2caf Drivers UI: Debug Info
Feature request for ZanQdo, which shows the intermediate values used in driver calculations (i.e. current value of driver, and current value of variables), allowing drivers expressions to be debugged. This is a per-driver setting...
2010-01-19 23:38:26 +00:00
ccb6e1904a patch from Bjørnar Hansen (anachron)
Multiple background images displaying each on a different axis.

Changes made from the original patch.
- Use an enum rather then multiple booleans.
- Reduced the space taken up by the user interface.
- Made the image template compact display not show fields & premul options.
- Added readfile.c lines so old blendfile images are loaded.
- Option to hide BGpic UI (like modifiers & constraints)
- Use the index rather then a bgpic from the context for the remove operator.

note: could be good to use 1 image for both left+right, for eg, but for this to work as intended we would need to add image flipping depending on the axis so left this commented out for now.
2010-01-19 22:44:43 +00:00
7165008b35 Motion Paths are now recalculated again after transforms (with autokeying and around-current frame displays enabled) 2010-01-19 21:44:22 +00:00
886a5bca08 set to python 3.1 in scons config. 2010-01-19 21:42:01 +00:00
a8a5defc0c Preview Range Tweak:
Made preview range be turned on/off using a proper flag instead of just relying on checking for start-frame = 0. It is no longer satisfactory to do that since we can have negative frame numbers, and also having it as a proper flag means that the range can be toggled on/off non-destructively.
2010-01-19 20:30:04 +00:00
2100412284 Small tweaks to 26108 - Graph Select Borderselect:
Campbell's fix was ok, but just added a few comments as to why the previous way didn't work.

Also, fixed the bug where borderselect would make all F-Curves selected regardless of whether any keyframes on those curves were selected.
2010-01-19 19:53:50 +00:00
c54d54e8ae Rigify:
- Added two driven-shape-key rig types that create and drive shape keys on a mesh/meshes based on the distance or rotation difference between two bones.
- Fixed bug in finger curl rig type where secondary finger controls were not created.  Finger type can also now (optionally) have a hinge switch (useful when using it for wings).
- Changed the blending system in rigify_utils to use copy_transforms constraints instead of copy_loc+copy_rot.
- Finished the quadruped leg type.  Now has both ik and fk control and ik/fk switching.  Also uses a rotating bone to control the knee direction instead of a pole target (seems to work more consistently for quadruped setups).  There's still one annoying bug regarding foot roll, but it's not blocking.  I'll track it down later.
- Mouth rig now creates corrective shape keys on the face mesh for dealing with mouth corners when they spread open.
- Biped arm and leg types now cause mesh to scale when you scale the fk controls.
- Misc improvements to the rig types.
2010-01-19 19:07:09 +00:00
40fb29862e Added eyeball and eyelid rig types to rigify.
(First commit!  Let's hope this works!)
2010-01-19 18:52:45 +00:00
a22f240b59 Makefiles: renamed NAN_PCRE to BF_PCRE to keep consistent with other pcre related variables 2010-01-19 18:50:18 +00:00
aab621eb43 added a missing include.
Kent
2010-01-19 18:09:14 +00:00
d77c51a476 bugfix [#20736] crash if lasso select while invisble object is selected
- also dont display empty menu's
2010-01-19 16:38:48 +00:00
9396bb2da9 - AIX ifdef's so windows works, cant test but this seems the most used define. might need to add to buildsystem config.
- transform default scale was too hight, calls to random were inconsistant. (fault of own modif's)
- cmake openal include was added twice on recent commit.
2010-01-19 15:57:02 +00:00
4fe037f53f Windows Compile Fix. No need for strings.h on win32. 2010-01-19 15:46:07 +00:00
7e9d9460c9 Added extra check & prints for multires data failing to write to
external file.
2010-01-19 15:15:48 +00:00
f75301939c Aligorith: please check. this was copied from mouse select. however BKE_nla_tweakedit_remap(adt, rectf.xmin, NLATIME_CONVERT_UNMAP) is running which looks like it should be doing the remapping. however both functions are needed for this to work.
Committing since Lee wants border select to work in the graph editor but feel free to revert.
2010-01-19 15:12:14 +00:00
abb5214a8f removed 3D view listener for changing the background image frame.
do this on drawing instead since SCREEN_OT_animation_step isnt calling the notifier (assume this is to be more efficient?). this isnt slow so is ok to do on drawing.

rename BKE_image_user_calc_imanr to BKE_image_user_calc_frame
2010-01-19 14:04:33 +00:00
05ce322aad set teh active face on entering editmode to the last selected, visible face (if unset) 2010-01-19 12:24:28 +00:00
bfe5482169 NLA Bugfix for Lee: Changing action extents doesn't update the strip lengths too 2010-01-19 11:43:29 +00:00
7759fc2983 Motion Paths - (Part 3) Operators, Drawing, and Fixes
This commit makes the new-style Motion Paths work for Objects and Bones. Motion Paths can either be added for Objects (Object buttons) or for Selected Bones in PoseMode (Armature Buttons), and/or removed from these panels too.

Changes:
* Changed the way the baking code worked, since it was better to be able to bake a bunch of objects at once, instead of doing it per object
* Fixed a variety of bugs regarding initialising defaults and reading old files
* Added operators for Objects (like for bones), and replaced the existing code for bones.
* Fixed bug with baking code that was causing it to bake the wrong ranges

Todos:
* Frame number drawing is currently messed up, since the "cached" text drawing takes into account the object transforms.
* The new MotionPath panels currently appear as the first panels in the respective contexts, probably due to the order in which the files are included. This needs some fixing, though not sure what the best way is yet.
2010-01-19 11:31:49 +00:00
ed578c27c8 patch [#20690] Cut Linking for Logic Bricks
from Dalai Felinto (dfelinto)

cutting kinks now works the same as in the node editor.
2010-01-19 11:24:42 +00:00
59bcf6cf4f [#20722] Ignore non-existent files from .Blog
from Sergey Sharybin (nazgul) 
- added own minor changes.
2010-01-19 11:11:56 +00:00
530b8bba42 patch [#20612] Making Blender compile on AIX 4.3.3
from Philipp Gühring (sourcerer)
2010-01-19 10:57:59 +00:00
e6697dfe4a setting the timeline endframe didnt work if the preview range was used. 2010-01-19 10:36:33 +00:00
c02b26e463 convert rotations into radians (not scale) 2010-01-19 09:51:09 +00:00
8ae76d7249 pep8 compliance for Randomize objects loc/rot/scale.
- scale min -1 to 1 rather then -100 to 100
- default precision for float props to 2.
2010-01-19 09:36:40 +00:00
98312235b0 own error from changes to this script.
need to call random.uniform() even if its not used to give pradictable randomization.
2010-01-19 09:24:39 +00:00
5b78e80fef Fix [#20067] Blender 2.5.0 Alpha0 - Duplicating Window 2010-01-19 06:49:50 +00:00
1d83239118 Fix [#20730] Auto Auto-depth with scroll wheel
Campbell, as far as I can see, this should be fine, but you might want to doublecheck.
2010-01-19 04:14:57 +00:00
ba36b848eb Added new macro "file.select_execute", by default mapped to LMB doubleclick in file selector.
This selects+opens the file under the mouse pointer, can be customised.

This somewhat fixes [#20727] MMB don't load .blend from the file browser
2010-01-19 03:59:05 +00:00
b34a0fd18a Partial fix for issues in [#20564] Color Management/Linear Workflow not taken into
account in Preview Render anymore?
2010-01-19 02:47:44 +00:00
2fa3baf30b * Make image Histogram only update when region is visible
* Clean up some remaining code
2010-01-19 02:26:36 +00:00
b079dcc140 Fix compile on msvc (inline) 2010-01-19 02:15:37 +00:00
aab8196a1c Finished some work from the weekend to keep local tree clean..
* Added a generic 'histogram' ui control, currently available in new image editor 
'scopes' region (shortcut P). Shows the histogram of the currently viewed image.

It's a baby step in unifying the functionality and code from the sequence editor, 
so eventually we can migrate the sequence preview to the image editor too, 
like compositor.

Still a couple of rough edges to tweak, regarding when it updates. Also would 
be very nice to have this region as a partially transparent overlapping region...
2010-01-19 01:32:06 +00:00
849024df83 patch [#20724] Randomize Loc Rot Size py operator for B2.5
written from scratch by Daniel Salazar (zanqdo). added own modifications.

New property type
 bpy.props.FloatVectorProperty(), only difference with float is it takes a 'size' argument and optional 'default' sequence of floats.

moved bpy.props.* functions out of bpy_rna.c into their own C file.
2010-01-19 00:59:36 +00:00
56660fab4b Timeline: Keyframe Drawing for All Selected Objects
When 'Only Selected' is ON, or the Active Object is in PoseMode, only the keyframes for the active Object are drawn (*).

Otherwise, the keyframes for the scene (sequence+nodes+world), and the selected Objects (including the Active Object) are drawn.


(*) I've also made some changes here to try and get only the selected bones showing here, but some further changes are still needed for that to be able to work.

---

Also, fixed bug in makesrna caused by missing newlines for error prints. This resulted in all error-output from makesrna appearing on a single line.
2010-01-18 23:31:46 +00:00
b6421418e4 Fix input issue with Time Scale (center2d needs to be specially calculated for that transformation). 2010-01-18 22:21:32 +00:00
cd068e5530 Removed workaround from weekend. See mailing list for details. 2010-01-18 20:11:31 +00:00
161ae41c6d load the user prefs before python so the python userdir is read. 2010-01-18 18:52:03 +00:00
20fb87ac32 cmake was missing openal include path 2010-01-18 17:14:54 +00:00
eedc3c09d1 append/prepend class methods for the header and panels (previously only worked for menus)
Example of adding a button to the view header;

 def draw_custom(self, context): self.layout.operator("some.operator")
 bpy.types.VIEW3D_HT_header.append(draw_custom)
2010-01-18 16:47:26 +00:00
d11dd115d7 fix from 2.5x r26079 2010-01-18 16:31:33 +00:00
13f28b6fa4 revert for last commit, this should fix the proplem properly.
- selected bones on hidden layers would be selected for weight painting (confusing to the user). use the 'active' bone instead.
- when no weight group was set, the index used for the bone group was off by 1.
2010-01-18 16:21:23 +00:00
8cf6b390e3 fix for weight painting bug, weight painting would fail when entering weight pait mode in some cases. 2010-01-18 15:33:43 +00:00
9ae90efc8e - opengl render anim exec function so python can render opengl animations without and have it block until its done.
- timeline rna camera access.
- new textblocks have tabs as spaces enabled by default since this is blenders default.
2010-01-18 14:40:06 +00:00
dc589a33dd OSX/scons : fix cross-build issue during linking phase with dynlibs 2010-01-18 14:08:40 +00:00
b9fd903e8e make the animation read error message say if the file wasnt found. 2010-01-18 11:46:19 +00:00
04230ae592 fix for movie files sequence strip names not working unless the first frame of the movie was shown. 2010-01-18 11:22:32 +00:00
fe67b9d6f2 reference docs: include type info with function return values 2010-01-18 10:45:54 +00:00
e723b060fc python script reloading (f8)
- reload modules from types that are not directly included. for example wm.py uses classes from modules/rna_prop_ui.py which wasnt reloaded.
- script paths were being added to sys.path multiple times.

note: now the second reload gives a crash right away but this is a bug elsewhere.
2010-01-18 10:02:55 +00:00
7195345c03 Fix for part of [#20251] Some Node UI problems
Tweaked the padding around sockets when dragging connections.
2010-01-18 08:38:53 +00:00
4ab4abe98b Fix [#19914] spacebar menu text stays on screen after click and drag
Button wasn't getting freed correctly after exiting immediately after text selection
2010-01-18 07:40:21 +00:00
009ed7dc26 Fix [#20703] Minor UI bug in file browser 2010-01-18 03:36:19 +00:00
ffd035db62 Fix [#20702] Problems with Colormanagement
Own bug in previous fix here..
2010-01-18 02:10:55 +00:00
969aa8fe6f Fix for window not redrawing properly on resize (on osx at least), add a
NC_WINDOW notifier as well as NC_SCREEN, since both have changed.
2010-01-18 01:59:16 +00:00
1e983a9318 DopeSheet Keyframe/NLA Strip Scaling Tool:
Scaling behaviour relative to mouse movement was inverted. Made the this transform tool now use the standard input mechanism for scaling inputs so that the behaviour is now correct. 

Martin: In my tests, the responsiveness of the scale tool is now not sensitive enough though. If you have some time, could you look into whether this can be made to work a bit freer?
2010-01-18 00:45:33 +00:00
90e95d896c NLA (Un)Mapping Fixes:
Hopefully this time I've finally found the proper fix for this. At least in the mini test-suite I made for this, the new inverse process seemed stable enough.

---

Also, tweaked the keyframe drawing code so that it doesn't convert the handles too when performing NLA mapping. This should provide some minor speed boosts when drawing keyframes under these conditions...
2010-01-18 00:35:28 +00:00
280df5dd47 Fix linking cmake on non-windows platforms (ELSEIF -> ELSE ) :) 2010-01-17 22:12:00 +00:00
Dalai Felinto
9356b1b7ee BGE: Mouse Sensor type defaults to 1 (MOUSELEFT ) + remove camera attribute from Camera objects.
(if you want to mark your camera objects create a property manually ;)

That way object.getPropertyNames() works consistently across all object types.
2010-01-17 21:46:34 +00:00
7d2b40c862 undo previous cmake fixes, Benoit already fixed it in cmake/macros.cmake 2010-01-17 21:00:07 +00:00
381e926600 fixed sphinx doc generator
- arguments, return values indentation means they get correctly interpreted by sphinx
- functions with no return values were displaying return as ()
- return values were getting the '(optional)' added in some cases.

Example:
http://www.blender.org/documentation/250PythonDoc/bpy.ops.object.html
2010-01-17 20:59:35 +00:00
f50ec12d9f cmake fix broken OSX build: those openmp flags break OSX build, it might only work on other unixes that way 2010-01-17 20:25:28 +00:00
c7dfa96aea bugfix [#20639] BF25_SVN_25888 and below - OBJ and 3DS import fails
blender supports type changing for textures in a way that python doesnt.
add a new general function.

Example usage:
 tex = bpy.data.textures.new("Foo")
 tex.type = 'IMAGE'
 tex = tex.recast_type()

Macro to give the number of users accounting for fake user.
 ID_REAL_USERS(id)
Use this so you can remove a datablock if it has a fake users as well as apply transformations to it in the 3D view.

Move api function bpy.data.add_texture() --> bpy.data.textures.new()/remove()
2010-01-17 20:06:34 +00:00
55756719fb cmake fix for Windows: link OpenCollada <libraryname>_d.lib in debug builds and <libraryname>.lib in release builds
this prevents crashing at startup of Blender in debug builds with cmake.

See bugreport by Andrea in the mailinglist here:
http://www.mail-archive.com/bf-committers@blender.org/msg00668.html

Also enabled WITH_OPENCOLLADA in cmake by default so the feature gets tested. If other devs like to keep OpenCollada it disabled, please revert the ON to OFF again.
2010-01-17 19:34:01 +00:00
4c49c95ab4 Add more stub functions for blenderplayer. 2010-01-17 19:20:05 +00:00
de59a6c943 Update MSVC project files 2010-01-17 19:19:33 +00:00
42baabba5d Fix link libraries for Win32 Cmake debug build. Unfortunately, debug builds are still crashing at startup - need to investigate further. 2010-01-17 19:19:15 +00:00
50b35842d9 bugfix [#20712] wavefront obj import fails with default import settings 2010-01-17 17:36:11 +00:00
e682febe24 fix for own bug in name flipping, was modifying the original name (very bad!). 2010-01-17 16:00:54 +00:00
870df309c5 MSVC 9 projectfiles
* update for animviz.c
* updated glew dependency for ghost.
2010-01-17 14:47:14 +00:00
e530431893 have makesrna only replace newly generated files when their contents changes.
previously changing one rna_*.c file would rebuild them all making it slow to test small changes on the rna api.

also made errors in rna and dna generated give C defined #error's and line numbers that cause them.
2010-01-17 14:04:40 +00:00
Dalai Felinto
e02ad764ee Text Editor: indent and unindent now supports tabs/spaces according to (text->flags & TXT_TABSTOSPACES).
Code-wise it looks now (again) that tab is the default. I hope that'ok. For bitwise operation it's cleaner IMO if the check is for positive values on them.

* TXT_TABSIZE is still harcoded to 4 spaces *
2010-01-17 03:15:27 +00:00
Dalai Felinto
a806cfb6a5 Test Editor fix: Ctrl+LEFT/RIGHT was set twice (one of them wrongly) 2010-01-17 02:10:54 +00:00
68c8054191 patch [#20560] [patch] KX_GameObject.obcolor
by Mitchell Stokes (moguri)
* renamed attribute obcolor to color
2010-01-16 23:53:51 +00:00
9c9209f7e5 resizing any area/region would redraw all views in every window.
This means a large scene will make blender resize the border between the timeline and the graph editor slow since it redraws the 3d view for each update.

edited the operators to only redraw whats needed. since tons away IFDEF'd this incse it needs to be reverted.
2010-01-16 22:56:52 +00:00
8c74944a8e debug prints are too much on my system it hangs ddd. 2010-01-16 22:53:05 +00:00
23607fc91f this isnt needed since the node window can enable it. materials also dont have this option. 2010-01-16 22:32:15 +00:00
0f55410e3d Short term workaround for OpenAL + pulse bugs on ubuntu. Not sure if it works, people have to test and report please, I don't have ubuntu. Longer term we hope for an update of the ubuntu packages to fix the problem. 2010-01-16 22:12:19 +00:00
86414f4880 from freakabcd to compile with MSVC10 (beta) 2010-01-16 22:03:26 +00:00
083e5b66a9 GPU_buffer_setup could return a freed buffer. (when VBO's were used) 2010-01-16 17:47:56 +00:00
70060b2936 fix for own un-initialized pointer 2010-01-16 15:39:00 +00:00
7bea39af62 Workaround to fix #20645. Iteration over multidim arrays and slicing of them is broken.
Before fixing this I'd like to clean BPY a bit.
2010-01-16 15:20:27 +00:00
459f55ed95 bugix [#20687] Selection code on duplis gets incorrect draw mode flag
could make selection very slow in some cases
2010-01-16 15:17:40 +00:00
6a8dc9bdec - UV header sync selection vert/edge/face buttons were displayed as 3 tickboxes
- fix for all of them being able to be disabled at once.
- 3D header now uses the rna buttons.
2010-01-16 14:31:21 +00:00
2ca119c66d possible fix for [#20674] SegFault from console 'c = data.texts["text1"].copy()'
fix for freeing the undo buffer from a copied text block. (the copy had the old undo pointer)

since I only got an error, not a segfault Im not sure this is the real cause of the crash.
2010-01-16 14:05:39 +00:00
Dalai Felinto
a33e12c184 Fix: MESH_OT_DELETE wasn't working since rev. 26027, MESH_OT_select_by_number_vertices neither
for the MESH_OT_select_...  ENUM text fix (s/Triangles/Quads) and invoke added (WM_menu_invoke).
2010-01-16 04:18:21 +00:00
13295aec30 Small patch from freakabcd in irc: disable camera dof distance if dof object is set 2010-01-16 02:12:03 +00:00
03e924cdee mirror modifier vgroup option was doing string name conversion to find the flipped name for every vertex for every weight.
the vertex flip mapping only needs to be made once.

warning fixes too.
2010-01-16 01:15:47 +00:00
61acdb61cb Fix [#20418] ring select in face mode selects edges not faces 2010-01-16 00:59:59 +00:00
5272991e8b generic operator menu was searching for "type" and using the first enum property if it wasnt found.
this is too arbitrary and could break if roperty order is changed.
store the property in the operator type that is to be used for menu and enum search func's.

python function for searching operator enums on invoke. (just need dynamic python enums now)
 wm.invoke_search_popup(self)
2010-01-15 22:40:33 +00:00
2b3a6b38b7 remove duplicate code from operator/macro initialization 2010-01-15 22:02:32 +00:00
6d1f5f8f5d *Fix for last commit. Removed unused code. 2010-01-15 17:36:06 +00:00
ace8d45c1c - particle drawing was using invalid memory with weights.
- particle set weight operator (Shift + K) and from the menu.
- mirror vertex groups operator can also flip weight group names.

a number of utility functions for weight groups added
 int *get_defgroup_flip_map(struct Object *ob);
 void flip_vertexgroup_name (char *name_r, const char *name, int strip_number); // moved from modifier.c 
 void copy_defvert (struct MDeformVert *dvert_r, const struct MDeformVert *dvert);
 void flip_defvert (struct MDeformVert *dvert, int *flip_map);
2010-01-15 17:28:00 +00:00
a4732eefa5 a new generic invoke function - WM_enum_search_invoke()
This can search operators enum property.

Make proxy menu could easily get too big. use the new search popup.
2010-01-15 17:23:16 +00:00
2aaee044e5 fix for compiler error, probably unlikely but if 'v' is NULL it could crash. 2010-01-15 17:19:01 +00:00
1b580dde6e Console:
* Added Theme support for the console.
You can change:
-Header Color
-Text Color of Output, Input, Info and Error Messages. (Inside the User Preferences -> Themes)
2010-01-15 17:00:37 +00:00
3ff987c46a bugfix [#20688] Mesh with no materials fails to export UV layout 2010-01-15 12:21:33 +00:00
39ff5d7eb9 Reverting changes made in r25940 with the NLA unmapping.
The reverted code was just blindly restoring the old state of the keyframes; changes to selection state, value changes, handle type, etc. were overridden, and the cases where keyframes were deliberately retimed or otherwise were also ignored.  

I'm not sure what problems these changes were meant to be solving, but will reassess the situation when I get more info on this.
2010-01-15 10:34:39 +00:00
aed721e01c [#20685] Fixed: cleaned up descriptions, removed unrelated comments in code
from Jaevixa McNomera (jaevixa)
2010-01-15 10:02:02 +00:00
Nathan Letwory
4d2c55824e * don't copy .pyc files 2010-01-15 09:59:42 +00:00
0e8dd13c48 Fix [#20437] Impossible to load "voxel data" sequence file from
texture panel (field missing?)
2010-01-15 07:26:38 +00:00
Nathan Letwory
3664670f2a * Fix two issues:
- makesrna would crash on Windows with this malloc business (writing wrong places).
   - The one malloc never got freed (apart from not being MEM_callocN - which should be used instead of vanilla malloc/calloc!)
2010-01-15 07:04:00 +00:00
bd6ce45ef4 Fix [#20129] emulate numpad
Converted Command+LMB to send a RMB click event on Mac OS X, if Emulate 3 Button Mouse is switched on.


Also fixes for previous commit, didn't all go through.
2010-01-15 06:17:28 +00:00
87c5ed37a5 Tweaked/added poll functions to prevent operators that require
a 3D View from being used outside the 3D View (i.e. the info header 
search button)
2010-01-15 06:10:05 +00:00
085795e356 Fix [#20514] In sculpting mode is possible to use page down/up to exceed the actual multiresolution level 2010-01-15 05:00:02 +00:00
336c96e120 Adding back cursor to center menu entry that was mistakingly removed by an unnamed person. 2010-01-15 01:21:56 +00:00
01236d49f9 Transform Constraints: When axis is quasi perpendicular to the screen (within 5 degrees), it uses vertical motion of the mouse instead of normal axis projection. This behavior isn't new, but the 5 degrees limit is (it's also the limit at which manipulator axis disappear), it used to be much lower than that making small angles hard to manage. 2010-01-15 00:35:21 +00:00
4770cc031d fix for possible crash with the boundbox of a mesh used when freed. 2010-01-14 23:59:13 +00:00
6f8ee9b0f9 patch [#20673] Fixed descriptions in Torus mesh controls, and added some requested controls
from Jaevixa McNomera (jaevixa)
2010-01-14 22:45:56 +00:00
Dalai Felinto
690ad15099 Text Editor: Add an option "Tabs as Spaces".
So now tab is not ALWAYS converted to spaces.
This is stored by text datablock (what allows to do nice things in the future, as automatic check for the indentation type of the file).

Ideally we should redraw the other Text Editor windows after changing that (in case the same file is opened and the Property panel is also open). Not sure how to do that though.

I'm using TABSTOSPACES as the DEFINE flag because TABSASSPACES sounds too ugly.

(also fix for interface divisor bug)
2010-01-14 21:30:51 +00:00
5d16a5b7d9 Ctrl+RMB select in the dope-sheet wasnt working, this nlabackup stuff isnt being done for select-all so not sure why its there, commented it out for now.
Aligorith, please check.
2010-01-14 20:48:25 +00:00
e9e89ecfc3 [#20672] TimeLine (arrows will not proceed animation)
RNA notifiers don't have a window and didn't get picked up correctly by the animation redraw system. If there's no window defined in a scene notifier, handle it anyway if the scene matches (or if there aren't any).
2010-01-14 19:53:26 +00:00
9e79f2d92a [#19978] Can not switch view with keymaps while emulate numpad is activated; in modes other than object and edit
Was caused by event emulation (numpad and mmb) happening separately at each level of the keymap, so brush selection was latching on the event before it had time to test emulated values with view navigation entries (at a lower level in the hierarchy).

After discussion with Matt, decided that event emulation should be done at the root of the event loop, replacing the event with the emulated values. This is much more predictable and more logical as far as event emulation goes.
2010-01-14 18:15:12 +00:00
be680ae69b Mkey toggles mask while in vertex/texture/weight paint mode.
remove unused operator property
2010-01-14 18:11:10 +00:00
6d4d43c85e improve volume preserving puff to shape the end strands of the hair in relation to the underlying form of the head. 2010-01-14 16:14:24 +00:00
672aede6a0 Cocoa : fix for modifiers keys handling upon application switching
- fix race condition between applicationBecomeActive, and WindowBecomeKey events that discarded the modifiers keys status change event message
- workaround for a 10.6 bug that made the Cmd (oskey) modifier erroneously on.
2010-01-14 16:01:05 +00:00
dd9b6cbddd uv layout svg files were not importing into inkscape or firefox (gimp worked) 2010-01-14 14:33:05 +00:00
f8518a9b26 UV layout
- set the width of the line to be 1 pixel
- add the object name onto the blendfile name.
2010-01-14 14:26:39 +00:00
231d29ccce Join as UVs.... (copies matching UVs to another object with the same topology)
nice that it uses foreach_get/set for fast array copying from python.

note: this is getting out of hand, we beed some central panel/interface for copying mesh data about - shapes, UVs weights etc. at the moment they are accessed from all different places.
2010-01-14 14:06:27 +00:00
Nathan Letwory
6a0a5b54ec Little fun feature for SCons users: set BF_LINE_OVERWRITE=True in your user-config.py or on command-line when BF_QUIET=True. This will reuse the same line of the previous compile message (Compiling ==>...). Warnings and other messages will still go on their own lines. Remember to set BF_LINE_OVERWRITE=False when you are redirecting the build output to a file 2010-01-14 13:42:15 +00:00
97dc31c8d3 weight paint without shading when in wire view. use stipple wire to help show where verts are.
only way to do this previously was to have a UV layer, be in textured mode, not have any lights or textures and then set weight paint mode.
2010-01-14 12:51:17 +00:00
b0f87935a8 spelling errors, no real changes to code. 2010-01-14 10:59:42 +00:00
4371c3b044 no-functional change - use interpolation functions where possible. 2010-01-14 10:58:03 +00:00
dd59f4df90 Fix mistake in recent commit, typed in wrong number for bitflag
causing various issues with constraints and duplis.
2010-01-14 10:57:24 +00:00
9de67b8ca9 UV operator template 2010-01-14 10:50:58 +00:00
fffbb2c7eb Fix [#20671] No access to creating textures for a material
Caused by my previous commit here.
2010-01-14 10:43:53 +00:00
e8c4be18a8 Fix [#20029] Text input fields with dropdown list bugs 2010-01-14 09:56:41 +00:00
6b0e2ecd6c enable smooth shading of particle colors in particle editmode, for weight painting and selection. 2010-01-14 09:01:57 +00:00
c1f2fd0a46 particle weight brush back (mostly the same as in 2.4x), needed to control long hairs movement. 2010-01-14 08:53:10 +00:00
72b14be460 * Added an 'enable manipulator' operator, with boolean properties for each of
translate/rotate/scale, for people to bind to shortcut keys.

wm.context_set doesn't work well here since it just toggles each component on/off.

Fixes [#19730] Missing/conflicting keymaps for "Change Manipulator Mode" function

Good defaults for this can be decided on for an updated 2.5 key layout.
2010-01-14 05:29:25 +00:00
109f719f46 ctrl +/- should be in default keymap for 3d view zoom in/out, probably other views too 2010-01-14 05:22:16 +00:00
b886f7ada0 Fix for previous properties editor crash, only remove ui handlers
on new screens. Was preventing openGL render and possibly other 
things from working
2010-01-14 05:21:20 +00:00
874ef4c747 Changed 3D View menu Duplicate Linked to use the same
duplicate linked + move macro as in the default key map (alt d).
2010-01-14 04:36:27 +00:00
4880b27891 Show the image ID template too for 3D View BG image 2010-01-14 04:25:06 +00:00
e93d6655bd Fix [#19932] When reducing panels vertically the scrollbar should not continue redraw in
opposite direction
2010-01-14 04:16:45 +00:00
0801544a7a renamed view_center to view_selected in view3d menu code 2010-01-14 02:51:17 +00:00
70c673621a fixed missing buttons if no bg image 2010-01-14 02:41:08 +00:00
7d251de01c view3d bg image now updates on frame change, and the panel for it properly draws an image user template. someone else might want to look over the UI stuff, hopefully it's ok. also added some ffmpeg .dlls to the SConscript to install. 2010-01-14 02:16:45 +00:00
2b1e59500f Fix URL to new py API docs 2010-01-14 02:13:08 +00:00
36229bd39a Missing notifiers in some transform orientations operators.
Also, nice harmless typo (only because KM_SHIFT|KM_CLICK (1|3) == KM_SHIFT|KM_CTRL (1|2))
2010-01-14 02:06:08 +00:00
f3c89524c3 Fix [#20663] Mouse cursor icon changes back to default in edit mode
Seemed simple but actually turned out to be quite complex.

ND_MODE notifier was being misused, changed to ND_TOOLSETTINGS

Note: Although the fix itself doesn't involve this much, debugging uncovered 
that listeners can't rely on notifier->swinid to be correct, since notifiers can 
now be added from RNA without a region context.
2010-01-14 01:47:25 +00:00
61d4ff5890 Fix for saved animation image sequence renders being too dark
(caused by my recent color management commit)
2010-01-14 00:03:58 +00:00
ddafe3f5df Fix [#19902] sculpt brush texture not accessible when the object has no material
Texture handling really needs deeper improvement, this fix doesn't really help for 
other situations like modifiers, but solves the inconvenient case of sculpting with 
no material at least.
2010-01-13 23:12:48 +00:00
0befa75009 [#20583] Snap Cursor to Center and more View edits
Patches by Jonathan Smith (jaydez) 

Add a Cursor Center entry in the snap menu (Shift-S) to reset the cursor to 0,0,0. Also rename the view_center operator to view_selected to reflect better what it does (in the code only, description and name were already ok).
2010-01-13 22:17:56 +00:00
9bcfcfb873 [#20112] User Preferences window causes a crash
Opened preference window caused a crash (context pointing to freed screen) when Load UI was turned off.
2010-01-13 21:37:13 +00:00
27dc5be730 - when the image is available export the SVG with the pixel width and height, saves typing into the gimp each time.
- option to only export selected faces.
- add in some metadata from the scene
2010-01-13 19:53:34 +00:00
76d736edae Makefiles: add -DNAN_BUILDINFO to CPPFLAGS in windowmanager/intern when building with NAN_BUILDINFO
enabled
2010-01-13 19:48:34 +00:00
Nathan Letwory
e594a8739b Patch [#20588] Adding multisample support to Win32 Ghost - by Mitchell Stokes (Moguri)
Note: AA is still disabled due to AA creating problems for selection tools. If you must, set AA to 2 or 4 in wm_window.c where the GHOST window is created (line 317).
2010-01-13 19:02:13 +00:00
ef5ab2b8e9 UV Layout export, writes an SVG, uses material colors. 2010-01-13 19:00:18 +00:00
58f13d469e UV mirror tool (copies UVs from one side of the mesh to the other)
WIP, suffers from editmode bug where editmode python tools cant have redo-options set. and needs options for precission.
2010-01-13 17:58:26 +00:00
32f4877c8c Cocoa : properly distinguish mouse from multitouch trackpad scroll events
Mighty mouse trackball now fires proper wheel events (and not trackpad pan ones)
2010-01-13 17:43:42 +00:00
75ec61d128 link markers to another scene, Currently in Ctrl+L menu (which isnt ideal but no menu in timeline for this)
needed for linking in scenes and copying markers about
2010-01-13 14:39:08 +00:00
574049782a Merge -c 25963 from COLLADA branch into trunk. 2010-01-13 12:51:07 +00:00
799fd6f373 COLLADA branch: fix #20653 - <animation> tag's target attribute was missing ".ANGLE".
Also replaced "."s in <animation> ids with "_" and corrected bone <node> sids.
2010-01-13 12:44:57 +00:00
e5be23c141 check if the layer exists rather then getting the array. 2010-01-13 12:17:21 +00:00
3c888b63f0 fix crash for projection painting with subsurf or multires, while drawing the verts & faces were bening freed. 2010-01-13 12:16:10 +00:00
e691c9d151 RNA NLA update function was wrong, taking the scene as a PointerRNA 2010-01-13 12:15:04 +00:00
54bb90bc7e Fix rendering of normal maps, was broken by new bump mapping. 2010-01-13 11:37:08 +00:00
26c7f78bcc node uninitialized memory valgrind found while looking into crash. 2010-01-13 08:39:32 +00:00
d2e7abec82 makesrna was failing because of a buffer overrun from an error in r25949 2010-01-13 08:12:57 +00:00
7df44b9ced Fix: wasn't able to rename node group nodetree name, or access the nodetree at all. Now you
can switch between them too.

Wrapped group nodes in RNA as part of this.
2010-01-13 06:35:12 +00:00
728359a6a5 Don't loop forever. 2010-01-13 04:27:10 +00:00
7c80ece9c8 Fix [#20614] renaming certain things in outliner->datablocks makes blender unresponsive to keystrokes
Outliner isn't able to rename things in datablocks view, disabled it from the UI.
2010-01-13 03:36:08 +00:00
0e39609468 Fix [#20557] animated node values haven't effect while render animatión
Was only updating the animation system for the render process - if scene render was skipped
(as is the case for comp trees without renderlayer nodes) then the animation system wouldn't
update.

Added in an update here, Aligorith, maybe you'd like to doublecheck.
2010-01-13 03:21:55 +00:00
6f0acf3cf3 Fix for Martin's fix, caused file selector to stop working.
Fileselect handlers are added to window's modalhandlers, and contain references to 
other areas/regions/etc... Still seems a little bit dodgy, but fixes file selectors for now.
2010-01-13 02:59:42 +00:00
0edecb73cf Fix [#20655] wrong button shading
Also restored copy/paste for color swatches
2010-01-13 02:01:34 +00:00
8e076e0341 Fix [#20649] when header is on top of 3D View and all regions are collapsed, expansion icons overlap 2010-01-13 00:43:59 +00:00
Dalai Felinto
f0180b700d Adding .glsl and .data to the Text filtering in the File editor (with Andrea's aval)
(.data is what we use by default as a dome mesh warp format, btw)
2010-01-13 00:15:17 +00:00
17108481a9 [#20093] Consistent Crash in properties window
Fun bug, took me the better part of the day to track down.

Happens because maximizing swaps spacedata lists between the old area and the newly created maximized area (this one being empty) while ui handlers are still hanging with references to the first area (then trying to access spacedata when handled). And then only if a maximizing operator was run before the UI realign timer event from the previous maximize was handled (fun, I told you).

After discussion with Matt on irc, we decided the best way to deal with that was to remove ui handlers that reference areas of a screen that is no longer used. That solution reflects the fact that the bug is more general that the reproducing steps would lead to believe. There's also absolutely no reason to run UI handlers on invisible areas.
2010-01-12 23:30:19 +00:00
b39be60075 NLA: fix keyframes getting messed up when making strips longer. For drawing
and other operations the nla mapping would be applied to the curves, but not
restored correctly. The unmap function was not the inverse of the map function,
and it's not clear to me it's even possible to make it so due to repeat, so
now the old coordinates are backed up in a list and then restored afterwards.
2010-01-12 21:20:09 +00:00
63e80e271d Bugfix: drivers on constraint properties could get set to invalid when
transforming, due to the evaluation of the object transform without
constraints, and the driver not finding the property.

Constraints are now disabled in a way that should avoid this problem
2010-01-12 19:51:26 +00:00
ff353b4939 Math lib: added normalize_v3_v3 in addition to normalize_v3. 2010-01-12 19:47:54 +00:00
489ef9cff1 RNA: warning fixes. 2010-01-12 19:47:31 +00:00
6a0308aad3 Raytrace: only print debug info when running with -d option. 2010-01-12 19:45:01 +00:00
000dcc7ad7 [#19960] When Loop Cutting, no Edge Sliding in Face Select Mode, but works in other Select Modes
Force edge select (internally) when running edge slide.
2010-01-12 19:44:23 +00:00
b58a14fe93 Fix for custom shapes getting lost on proxy armature bones. 2010-01-12 18:56:39 +00:00
59dfd24f75 - bugfix [#20654] the property edge_face_count of the Mesh-Object does not work
- remove unneeded particle function
2010-01-12 18:33:21 +00:00
f7f98f3b05 Proxy Protection Fixes
* Mostly revert #24880: Transform Locks affecting animation system. This
  was implemented as a feature request from Nathan but was not the
  intended functionality, and actually gives problems instead. The transform
  locks should really only affect what the user can do, not if the property
  can be animated internally.
* Revert #25868: fix for lib linked scenes not animating. This was needed
  due to the above feature, but meant that all lib linked properties were
  editable in the UI.
* Make bone properties of on proxy-protected layers not editable. They will
  be overriden on reload/redo like lib linked data, so should not be edited.
2010-01-12 17:08:28 +00:00
b8d743c9c6 particle puff, volume option.
When combing long hair  it will often end up with no volume (flat on the head like its wet).
a way to fix this is to use the puff tool however when applied points at the root only this just gives a bit of volume at the roots and the rest of the hair stays flat.
 
This option moves the unselected parts of the hair without applying the puff tool to them, giving volume to the hair whilst preserving the desired style.
2010-01-12 16:35:34 +00:00
e672a083d9 bugfix for particle editmode operators from (Janne Karhu)
psys_get_particle_on_path was taking dynamics into account, making subdivide add points in odd places.
2010-01-12 16:29:05 +00:00
0a9321e532 bugfix for puff brush, it wasnt working if the object had any transformation.
some dna comments too.
2010-01-12 14:52:09 +00:00
636b4a0663 Cocoa : activate multitouch trackpad features only on equipped macbooks 2010-01-12 14:12:44 +00:00
78798ba4df rename free_group to free_group_objects since it doesnt free the group its self. 2010-01-12 13:42:13 +00:00
70942f9a83 last commit was no good since pe_get_current was running recalc_emitter_field on mousemove and poll() functions.
run on entering particle editmode only.
2010-01-12 13:40:29 +00:00
f1a542b6b8 particle edit
the emitter field wasnt recalculated on entering on editmode.
this meant you could use the puff brush in particle edit, move mesh verts, go back into particle edit... And the mesh data from the previous mesh would still be used.
2010-01-12 13:20:49 +00:00
6329f7b063 Made the color ramp template more compact, and made the position field an RNA item. 2010-01-12 12:08:23 +00:00
b011664284 Fix #20641, #20645. Someone forgot to update scripts ;) 2010-01-12 11:21:42 +00:00
f6c79c553b [#20646] 2.5 does not load python scripts with multiple dots in the filename
- not a bug so add a warning if people add scripts with invalid names like this.
2010-01-12 10:04:03 +00:00
b76551da68 CMake fix for windows build
Patch by Guillaume Lecocq. Thx!
2010-01-12 08:46:38 +00:00
ac3f7db076 Fix [#20556] Shear hotkey not matching keymap
Select Sharp Edges was conflicting with it, fixed by removing it's shortcut, 
- if people use it frequently, they can easy add it back with a RMB click.
2010-01-12 08:30:01 +00:00
9900d07a01 Fix [#19920] long list in outliner+renaming 2010-01-12 08:18:15 +00:00
926cdffaf3 Renamed toolbar to Tool Shelf all over 2010-01-12 07:50:14 +00:00
85310d6413 Partial fix for [#19926] clicks "fall through" when stacking nodes
This still isn't ideal, but a bit better than before, it just tweaks the order of 
block processing so that at least the buttons on top of other buttons get processed first.

The actual fix will be quite tricky, not sure about how best to do that so far..
2010-01-12 07:07:51 +00:00
629bfd2a31 Fix [#19922] outliner+renaming+shift+home 2010-01-12 05:54:15 +00:00
6f79716326 Fix [#19966] Graph Editor does not refresh after automatic keyframe insertion 2010-01-12 03:01:19 +00:00
fd5657bd4f Fix [#20000] Connect to File Output node creates segfault 2010-01-12 02:53:15 +00:00
a742824c11 Fix [#20628] Color pickers: graphical slider bar doesn't update HSV and
Hex num sliders
2010-01-12 02:34:57 +00:00
d1f40710fe Fix for [#20272] Missing Options - Blender Game, Transparency Panel
A little bit dodgy, but at least the options are accessible for the time being.
2010-01-12 02:32:21 +00:00
c798a11b3b Fix [#20224] Moving to layer pannel missing shortcuts 2010-01-12 02:13:20 +00:00
e6c61acb68 Fix [#20644] new curve sets itself to the origin, but the pivot to the cursor
+ Cleaned up the nurbs spin operator and gave it properties rather than 
relying on context
2010-01-12 01:50:34 +00:00
44068d96aa Fixed bug #20155, "When Displaying the mesh angles one of the angles always displays in the middle not at the angle location" 2010-01-12 00:26:11 +00:00
689450a8f1 rna/py api
bpy.data.groups.new()/remove()
bpy.data.actions.new()/remove()
2010-01-11 23:40:01 +00:00
3b1585b172 Apply previous fix to lasso too. 2010-01-11 20:27:52 +00:00
393f53fc92 [#20640] Border/lasso selection zone "translated" when occlude geometry is on
Box select for mesh wrongly applied the transformation matrix (it wasn't done for Circle select and that worked correctly).

I've just commented and explained the removal, since comments in the matrix setting function seems to indicate that this should be needed (with the call removed, the situations that are noted as problematic still work fine).
2010-01-11 19:52:03 +00:00
491e365514 - draw mesh wire faded into the 3D view background color when in particle mode, the mesh and particle selection colors conflict too much making it hard to see particles.
- show proportional editmode button in particle editmode.
2010-01-11 18:10:13 +00:00
9df5bfe404 Fix wrong icons in shape key panel, not sure why these were specified,
they're already defined in RNA.
2010-01-11 15:28:00 +00:00
1adab34515 Compile Fix for recent multi touch commit. 2010-01-11 14:23:16 +00:00
42afb59184 remove operators PARTICLE_OT_brush_set and PARTICLE_OT_edit_type_set, rna data access and menu's can replace 2010-01-11 13:54:00 +00:00
276f60536f better reporting for lib linking problems
note that errors are displayed upside down
2010-01-11 12:24:08 +00:00
d5f5e0cd75 report errors with library linking errors.
uses a hack to set the window for the popup for the menu, which is nasty but artists need to know when their files should not be resaved :(
2010-01-11 11:59:14 +00:00
4a011a99cb Multitouch trackpad 2 fingers gestures implementation
- 2 fingers scroll (MOUSEPAN / GHOST_kTrackpadEventScroll event) pans/scrolls the view
- 2 fingers pinch (MOUSEZOOM / GHOST_kTrackpadEventMagnify event) zooms the view
And in 3D view:
- alt + 2 fingers scroll rotates the view
- 2 fingers rotation (MOUSEROTATE / GHOST_kTrackpadEventRotate) orbits the view.

The implementation uses a new GHOST event type: GHOST_kEventTrackpad, that is then dispatched as Blender MOUSEPAN, MOUSEZOOM
or MOUSEROTATE events.

This is currently fully implemented for OSX (GHOST Cocoa fires the new events), with auto-detection of the source peripheral, so that a regular mouse still sends MOUSEWHEEL events.
2010-01-11 11:14:36 +00:00
ebb9286fd6 Fix for cmake + windows debug build crash on startup, PYTHONPATH needs to be set, Py_SetPythonHome seems insufficient. Not sure why this is needed or if there is a better solution, but couldn't find another one. 2010-01-11 11:11:21 +00:00
a3e461ce1b - player building again
- fix for compiler warnigns
- bpath reporting was incorrect
2010-01-11 10:48:41 +00:00
49fc1f9860 Fix #20619: subsurf + explode modifier crash. 2010-01-11 10:22:24 +00:00
9565322d32 Fix [#20600] First added camera is not made active
Also forced view align on when adding cameras
2010-01-11 06:57:41 +00:00
1afb01876c Graph Editor: Snapping + Cursor
Added buttons beside the numeric inputs for cursor location to make it more obvious how the cursor can be used for numeric manipulation of selected keyframes.
2010-01-11 06:32:05 +00:00
1f12e8c59f * Restored vertex parent
The operator was already there and written, just didn't have a hotkey 
assigned. Gave it an icky popup menu like object mode parent until we 
get a nice non-blocking report viewer.
2010-01-11 05:55:34 +00:00
7bbf4f6605 * Removed popups from curve select random and Nth, also edited
select random code to use the same logic as select random for meshes 
(with extend property as well)
2010-01-11 05:32:01 +00:00
e0dd3fe587 * Restored font selection functionality with open font and unlink font operators,
so you can change the font of 3D text objects.
2010-01-11 05:10:57 +00:00
9d67c720d5 * Tweak for splash screen rev. info - dalai, does this look ok on your machine?
* Added very feint separator lines in menus
2010-01-11 01:26:16 +00:00
b6a1bc575b rna/py api
bpy.data.scenes.remove(scene) # now works without crashing
bpy.data.texts.new(name)/remove(text)/load(path) # added
2010-01-11 00:41:31 +00:00
e9d9602bab change the defaults for solidify since users are getting unexpected spikes because of the 'Even Thickness' option.
For buildings this is nice but for cloth and random mesh input it ends up giving ugly spikes.
2010-01-10 23:18:09 +00:00
5074a4c307 Request different OpenGL oversampling levels before giving up. 2010-01-10 22:52:40 +00:00
1cb013f877 evil 1 liner to get bge.logic, bge.render, bge.keys etc.. may eventually replace GameLogic, GameKeys module names. 2010-01-10 22:15:29 +00:00
affe84a453 get rid of annoying duplicate python initialization code, added setupGamePython() which initializes modules 2010-01-10 22:03:26 +00:00
34794eafe4 SVN maintenance. 2010-01-10 21:58:40 +00:00
3a858e84bd blenderplayer building with cmake 2010-01-10 21:33:41 +00:00
0f47410509 [#20522] alt+b in object mode has an offset depending on the selected object's origin
View clipping doesn't need object matrix in view transformation (permit NULL object pointer to get global transformation).
2010-01-10 20:31:23 +00:00
0185e24861 Make linked animdata working again, copies NLA too, as well as ObData animdata where types match 2010-01-10 20:23:59 +00:00
6a15ac70b6 [#20581] Lasso tool ends unexpectedly
Don't limit lasso to 1024 points, just realloc array with increased size when current limit is reached.

Also silence two stupid warnings.
2010-01-10 20:16:56 +00:00
b36a05bb7e - fix for crash if drivers were used in the .B.blend
- fix for problem where proxy objects could enter editmode but not exit
2010-01-10 20:01:13 +00:00
0bd98195a1 Bug [#20539] Pink Opengl line should disapear
Reset edge loop data when there are no edge near (it doesn't cut when there's no edge near anyway, so the display was missleading)

Also don't do any display setup when there's nothing to display.
2010-01-10 19:56:22 +00:00
Dalai Felinto
580345394e BGE API_DOC: VideoTexture and PhysicsConstraints templates (need the functions to be filled with their description).
PhysicsConstraints is documented in the Game Kit Book:
http://download.blender.org/documentation/gamekit1/

VideoTexture is documented in the wiki:
http://wiki.blender.org/index.php/Dev:Source/GameEngine/2.49/VideoTexture

I don't think I will have time to fill the documentation. But I hope this commit helps someone interested in helping it.

Therefore volunteers to document those modules are highly welcome !!! (let's give to BGE the documentation it deserves)!

* + added GameLogic.Lave/LoadGlobalDict + some typo fixes
2010-01-10 19:35:42 +00:00
6b4a8c5d72 attemp to fix [#20610] GHOST_WindowX11.cpp:202: X11 glXChooseVisual() failed, verify working openGL system!
cant test but should work.
2010-01-10 19:21:46 +00:00
20df075e38 new rig types from Cessen 2010-01-10 19:20:48 +00:00
8fedb7d65f Bug [#20572] Crash Blender - Gkey in Video Sequence Editor
Missing null check in durian fcurve hack (always enabled for some reasons)
2010-01-10 19:19:22 +00:00
c723251cc0 rename rig types not to have generic in the name (Cessens decission) 2010-01-10 18:59:32 +00:00
57e96e4472 patch from Cessen, update to metarigs and some changes to the rigging main loop.
- property names dont need the bone type prefix anymore
- always add a root bone that all non parented bones are parented to
- x/y/z axis properties for bones.
2010-01-10 18:53:15 +00:00
Nathan Letwory
c8966e5373 * make sure build info is enabled for BF_BUILDINFO (this is enabled by default, and can be set in your user-config.py or other custom config). 2010-01-10 16:29:53 +00:00
83e5edf5cb linked scenes were not animating.
this needs fixing properly but for now we need linked data to be animated by its linked actions.
2010-01-10 15:44:42 +00:00
3b03984294 Change how 'Main' collection type definitons work so that 'self' can be used without overriding the srna type. 2010-01-10 15:20:22 +00:00
e11327b9c9 workaround for a problem with rna collection type definitions.
setting the type for a collection does not work if its set before the type is defined.
2010-01-10 14:40:37 +00:00
2c56c59dfe Animation Channels - Protect + Mute toggles flushing:
Protect and Mute toggles now flush their values when changed, like for visibility, making the workflow a bit smoother. Currently, this only takes effect when clicking on the toggles (i.e. the hotkey+select based toggle setting operators don't take this into account yet).
2010-01-10 11:09:30 +00:00
e26005795d [#20587] Time field under Stamp (rendering) is always showing 00:00:00.01 2010-01-10 10:50:11 +00:00
508371001a [#20624] Creating new shape key always creates from basis, not selected key 2010-01-10 10:33:13 +00:00
40e9b1711b bugfix [#20627] Sculting - Mesh without faces crashes
fix own error in py ui also
2010-01-10 10:20:44 +00:00
9da2c0c6c2 add OpenCOLLADA support to Makefiles
add "export WITH_OPENCOLLADA=true" to user-def.mk to enable it
2010-01-10 09:11:48 +00:00
08c9ecb3b0 RNA/Py API
change how data is added. eg.
 bpy.data.add_mesh(name) --> bpy.data.meshes.new(name)
 bpy.data.remove_lamp(lamp) --> bpy.data.lamps.remove(lamp)


image and texture stil use add_* funcs
2010-01-09 23:44:01 +00:00
99b713e8b0 Removed game_sound property as it is not working and not necessary anymore. 2010-01-09 22:28:05 +00:00
a9aea7e6bf Edge Crease Transform is back. Now in edge menu (Ctrl-E) with Edge Slide and the rest. 2010-01-09 20:42:35 +00:00
30f26a2826 Color picker crash fix.
Color arrays in RNA are 4 floats but handlers used 3 floats. Overflow galore.
2010-01-09 19:00:41 +00:00
670d55f097 netrender: refactor thumbnail generation code. New option to generate the thumbnail on the slaves (per slave option, default off). Missing thumbnails are still generated on demand by the master. 2010-01-09 18:21:27 +00:00
e3641796c2 Themes:
*Some more cleanup.
*Renamed active_theme to theme_area, active_theme will be useful, when we have multiple themes again. 
*New layout (Theme Area selection is now expanded).

ToDo:
* Nice wrapping of all options for the different spaces, either manual or via auto generation.
Some items are missing, some are in different positions, altough they are available in different areas.
2010-01-09 18:17:40 +00:00
f125060ed5 == Sculpt ==
* Added a new property to sculpting, ignore_background_click. If this is on, clicks that don't hit the mesh are passed through, so you can set up the keymap to do ZBrush-like rotation with the tablet.
2010-01-09 17:15:02 +00:00
9ac2d072d1 User Preferences:
*More cleanup, still this file gives me a headache.
2010-01-09 15:49:27 +00:00
da976570c1 Fix for ColorWheel template 2010-01-09 13:04:43 +00:00
cba7e546d8 User Preferences Themes:
* Code cleanup, for general ui style settings.
2010-01-09 12:05:30 +00:00
3564eb7763 Added user preferences for color picker type, includes colour wheel + 3 square types.
Find it in prefs -> system
2010-01-09 06:44:54 +00:00
d2b27d00ff Fix for clipped text in splash svn version string - I must have been working around an
extra space at the end of local revision version string.. weird!
2010-01-09 00:49:29 +00:00
04dec46c6a Color management fixes
Now it's a bit more robust, tagging images with profiles when they're loaded, 
which then get interpreted later on by conversion functions. Just Linear RGB 
and sRGB profiles at the moment, same as before.

This commit fixes Martin's problem with EXRs and Multilayer images loading/
saving too dark, and it also makes the sequence editor work correctly with it too.

Also fixes:
[#19647] gamma correction with color management is reset when resetting Curve
[#19454] 2.5: Dither does not work when Color management is enabled
2010-01-09 00:16:35 +00:00
e62e66fe8a corect error in last commit. 2010-01-08 20:55:13 +00:00
9ceed4043f Fix #19659, #20387, #20489, part of #20565. VBO's in edit mode were not
working well, and no one seems to be fixing it, so I've just removed the
code for this. It has to be replaced eventually for bmesh anyway.
2010-01-08 17:53:17 +00:00
eb2e64afa5 netrender: bugfix to make thumbnails work correctly when running master through the UI (not in background) [context is borked in that case]. Also show number of threads settings in slave settings (reusing render setting) and force that setting when rendering jobs. 2010-01-08 17:52:21 +00:00
1f1245a92a Remap Relative paths save option.
If you have a blend file and want to save in a new directory enabling this will save with the paths corrected relative to the new directory.
2010-01-08 17:50:55 +00:00
5dffae2346 RNA Function Save Image accepts a Scene as optional argument (for image parameters). It uses the scene in context otherwise. 2010-01-08 17:47:27 +00:00
b504a48854 FSAA: was not disabled on X11 correctly. 2010-01-08 17:41:04 +00:00
14646a143b Fix #20613: crash with subsurf+shrinkwrap+smooth modifiers. 2010-01-08 17:38:16 +00:00
e5b2fcfa40 Fix #20592: camera name drawing was unreadable, accidentally drawn
using stippled line.
2010-01-08 14:45:26 +00:00
f9be960690 Fix quicktime QtKit compile issue 2010-01-08 14:42:52 +00:00
8f7c106e64 Fix #20604: Make Normals Consistent (Ctrl N) doesn't respect selection. 2010-01-08 14:41:32 +00:00
05af8dfe53 Disable anti-aliasing initialization, was causing GL_SELECT issues
NVidia (at least) GL drivers don't provide correct picking through GL_SELECT when the GL context is initialized with sample buffers.

So we can't have FSAA on for now as it breaks border,lasso,.. select.
2010-01-08 14:40:47 +00:00
a868e8623c - RNA support for returning copied strings from functions, flagging strings as PROP_THICK_WRAP does this.
- scene.render_data.frame_path(frame=num), returns the output path for rending images of video.
- scene.render_data.file_extension, readonly attribute, gives the extension ".jpg", ".mov" etc
- player support was guessing names, use the above functions to get the actual names used, accounting for #'s replacing numbers.
2010-01-08 13:52:38 +00:00
7079047538 Animation Channels Drawing Tweak:
A solid color backdrop is now drawn behind the mute/protect toggles and sliders, reducing the visual clutter with long names still appearing behind the UI widgets.
2010-01-08 11:14:30 +00:00
1b83b9c8b0 Fix:
*WORLD_PT_custom_props missed COMPAT_ENGINES declaration.
2010-01-08 10:11:04 +00:00
ccb54eff2e FSAA: properly disable it for first window draw, remove obsolete backbuffer
disable code, and only enable it for 3d drawing in the 3d view.
2010-01-08 09:30:36 +00:00
b8ca67ca33 custom properties panels for most ID types. use subclassing to keep panel UI definitions minimal 2010-01-08 08:54:41 +00:00
ceab17ee17 Fix for problems in previous commit when buildinfo wasn't enabled. 2010-01-08 06:05:42 +00:00
13002c1645 Properly refresh the node tree when making links with the node Make Links tool 2010-01-08 05:54:03 +00:00
ce538a0694 Added the svn revision number to the splash screen (when buildinfo is
enabled). Also fixed cmake so buildinfo works.


Note to all:
** Please mention the revision number when making a bug report **
2010-01-08 05:51:51 +00:00
59a8c295c6 Make the image open operator work even if there's no scene in context. 2010-01-08 03:55:06 +00:00
b517ceb374 SVN maintenance. 2010-01-08 02:54:33 +00:00
bb5f8bd0af Image RNA api: Don't crash if can't acquire buffer from image when saving image to disk. 2010-01-08 02:45:51 +00:00
ef8179f7cb netrender:
thumbnails on the web interface (resized with imagemagick or compatible if present, fullsize otherwise)
Clicking on the "show" link shows the thumbnail associated with one frame. Clicking on a second one shows all frames in the range. Clicking on more frames extends the range. Clicking on a thumbnail (or on the show link of a visible thumbnail) hides all thumbnails.
2010-01-08 02:33:20 +00:00
28b1824fd0 Bugfix #20605: Shape key values not keyable from mesh data panel. Keyable from Datablock browser.
See the bugreport comments for full breakdown of the fix. 


--

The change in brush.c is to get blender compiling again, after my previous commit which tried to fix a compiler warning related to this (but in the header file instead).
2010-01-08 02:02:52 +00:00
cddd784e44 Grease Pencil: Lock current frame option
It is now possible to make Grease Pencil Layers to keep displaying and editing the current sketch-frame with this option. This allows to draw a frame which contains markings made for different times (i.e. a spacing/timing chart that you can keep adding to as you scrub to different points on the timeline).

Use the clipboard/camera toggle (the one beside the visibility toggle) to enable. This should get an icon of its own at some point...
2010-01-08 01:39:41 +00:00
d08fe22bc6 fly mode doesnt need this workaround now - it broke fly mode when the camera was a child of another object. 2010-01-08 01:14:06 +00:00
840ae92052 Do not ask for AA if not supported. 2010-01-07 23:23:00 +00:00
f3a6474537 Animation Visualisation Cleanups - Part 2:
* Finished baking code for motion paths, generalising it so that it works for both Objects and Bones. 
It is based on the old code for baking bones, although I have modified the updating code to use a more 'correct' method of updating dependencies. However, this may turn out to be too slow, and another API method should be added for that...

* Moved some of the old version-patching code for animviz settings out of the drawing functions, instead doing this on the version patching proper.

* Added RNA support for the new AnimViz types, and included RNA access via their users too. The old settings have still been left in for now, since there are still some things not ready to use yet.

----

* F-Curve's with sample points (i.e. sounds to F-Curves) now perform linear interpolation between sample points instead of using constant interpolation.
2010-01-07 22:54:05 +00:00
79bb5419cc armature properties panel 2010-01-07 22:51:17 +00:00
320a09c232 * Use color wheel template for RGB node 2010-01-07 22:42:59 +00:00
73b52e2430 Viewport AA for X11 2010-01-07 21:58:28 +00:00
3bfec4e31c Add ability to cancel/revert dragging on color picker widgets with Escape, same as other widgets 2010-01-07 21:52:04 +00:00
00a099e44e rna image api: with dummy ImageUser, this can save RenderResults now. 2010-01-07 20:25:51 +00:00
9f2c6296cb Fix for memmove error in RNA collecton remove, could crash on
removing items in some circumstances.
2010-01-07 19:58:17 +00:00
f2ee251b64 netrender bug: master server clean on exit (off by default) was deleting on folder too low in the hierarchy (/tmp/ instead of /tmp/master_<pid>/). That was nasty but I'd be surprised if it affected anybody. 2010-01-07 19:01:43 +00:00
cfaa1e5db1 netrender
jpeg versions of the render results are downloadable from the web interface. 

Notes:

1) They are generated (and written to disk) on demand on the master in the same Blender instance, so this will increase memory usage (until there's a way to free and image buffer from memory or it's run in a separate process).
2) They are darker then the real results, since multilayer exr contain the result before gamma correction (for the linear workflow) and that's not applied when loading them as an image.
3) They are NOT thumbnails, they are the same size as the results (albeit at 90% quality jpeg compression)
2010-01-07 18:54:47 +00:00
1bca8389dd Merge from trunk -r 25003:25745. 2010-01-05 19:21:59 +00:00
Dalai Felinto
b8a13162cf BGE: negative lamp fix for GLSL mode.
The files I used for test are here: http://blenderecia.orgfree.com/blender/tmp/neg_light.zip
2009-12-31 18:52:06 +00:00
b5c250c729 New Version for 2.49b
From Jimmy Hazevoet
i have updated my A.N.T.Landscape script,
new functions are:
_Thermal erosion
_Generate new grid mesh with Triangle faces
_Select Verts/Faces by slope angle ( for making vertexgroups
for particlesystems )
_VertexColour Slope Map, ( for use with MaterialNodes )

This will be the last update for this script in this form (if
no major bugs are found)... with blender 2.5 this script will
need a complete rewrite,
i have plans for it, but i need a lot of time to do it, so i
gues a new version will not come before blender 2.6
So, next year or so i will spend time rewriting my ant script,
also i have plans for a "ANTLandscape" website with
docs and tuts.
The new script will be fully documented, and with some tutorials
on landscape rendering in blender.
2009-11-18 10:41:03 +00:00
3046 changed files with 257231 additions and 211754 deletions

View File

@@ -1,152 +0,0 @@
MACRO(BLENDERLIB_NOLIST
name
sources
includes)
# Gather all headers
FILE(GLOB_RECURSE INC_ALL *.h)
INCLUDE_DIRECTORIES(${includes})
ADD_LIBRARY(${name} ${INC_ALL} ${sources})
# Group by location on disk
SOURCE_GROUP(Files FILES CMakeLists.txt)
SET(ALL_FILES ${sources} ${INC_ALL})
FOREACH(SRC ${ALL_FILES})
STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}")
STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}")
STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}")
IF(REL_DIR)
SOURCE_GROUP(${REL_DIR} FILES ${SRC})
ELSE(REL_DIR)
SOURCE_GROUP(Files FILES ${SRC})
ENDIF(REL_DIR)
ENDFOREACH(SRC)
MESSAGE(STATUS "Configuring library ${name}")
ENDMACRO(BLENDERLIB_NOLIST)
MACRO(BLENDERLIB
name
sources
includes)
BLENDERLIB_NOLIST(${name} "${sources}" "${includes}")
# Add to blender's list of libraries
FILE(APPEND ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt "${name};")
ENDMACRO(BLENDERLIB)
MACRO(SETUP_LIBDIRS)
# see "cmake --help-policy CMP0003"
if(COMMAND cmake_policy)
CMAKE_POLICY(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
LINK_DIRECTORIES(${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${FREETYPE_LIBPATH} ${LIBSAMPLERATE_LIBPATH})
IF(WITH_PYTHON)
LINK_DIRECTORIES(${PYTHON_LIBPATH})
ENDIF(WITH_PYTHON)
IF(WITH_INTERNATIONAL)
LINK_DIRECTORIES(${ICONV_LIBPATH})
LINK_DIRECTORIES(${GETTEXT_LIBPATH})
ENDIF(WITH_INTERNATIONAL)
IF(WITH_SDL)
LINK_DIRECTORIES(${SDL_LIBPATH})
ENDIF(WITH_SDL)
IF(WITH_FFMPEG)
LINK_DIRECTORIES(${FFMPEG_LIBPATH})
ENDIF(WITH_FFMPEG)
IF(WITH_OPENEXR)
LINK_DIRECTORIES(${OPENEXR_LIBPATH})
ENDIF(WITH_OPENEXR)
IF(WITH_QUICKTIME)
LINK_DIRECTORIES(${QUICKTIME_LIBPATH})
ENDIF(WITH_QUICKTIME)
IF(WITH_OPENAL)
LINK_DIRECTORIES(${OPENAL_LIBPATH})
ENDIF(WITH_OPENAL)
IF(WITH_JACK)
LINK_DIRECTORIES(${JACK_LIBPATH})
ENDIF(WITH_JACK)
IF(WITH_SNDFILE)
LINK_DIRECTORIES(${SNDFILE_LIBPATH})
ENDIF(WITH_SNDFILE)
IF(WITH_FFTW3)
LINK_DIRECTORIES(${FFTW3_LIBPATH})
ENDIF(WITH_FFTW3)
IF(WITH_OPENCOLLADA)
LINK_DIRECTORIES(${OPENCOLLADA_LIBPATH})
LINK_DIRECTORIES(${PCRE_LIBPATH})
LINK_DIRECTORIES(${EXPAT_LIBPATH})
ENDIF(WITH_OPENCOLLADA)
IF(WIN32)
LINK_DIRECTORIES(${PTHREADS_LIBPATH})
ENDIF(WIN32)
ENDMACRO(SETUP_LIBDIRS)
MACRO(SETUP_LIBLINKS
target)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${LLIBS})
# since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
IF(WITH_PYTHON)
TARGET_LINK_LIBRARIES(${target} ${PYTHON_LINKFLAGS})
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} debug ${PYTHON_LIB}_d)
TARGET_LINK_LIBRARIES(${target} optimized ${PYTHON_LIB})
ELSE(WIN32)
TARGET_LINK_LIBRARIES(${target} ${PYTHON_LIB})
ENDIF(WIN32)
ENDIF(WITH_PYTHON)
TARGET_LINK_LIBRARIES(${target} ${OPENGL_glu_LIBRARY} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB})
TARGET_LINK_LIBRARIES(${target} ${FREETYPE_LIBRARY} ${LIBSAMPLERATE_LIB})
IF(WITH_INTERNATIONAL)
TARGET_LINK_LIBRARIES(${target} ${GETTEXT_LIB})
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} ${ICONV_LIB})
ENDIF(WIN32)
ENDIF(WITH_INTERNATIONAL)
IF(WITH_OPENAL)
TARGET_LINK_LIBRARIES(${target} ${OPENAL_LIBRARY})
ENDIF(WITH_OPENAL)
IF(WITH_FFTW3)
TARGET_LINK_LIBRARIES(${target} ${FFTW3_LIB})
ENDIF(WITH_FFTW3)
IF(WITH_JACK)
TARGET_LINK_LIBRARIES(${target} ${JACK_LIB})
ENDIF(WITH_JACK)
IF(WITH_SNDFILE)
TARGET_LINK_LIBRARIES(${target} ${SNDFILE_LIB})
ENDIF(WITH_SNDFILE)
IF(WITH_SDL)
TARGET_LINK_LIBRARIES(${target} ${SDL_LIBRARY})
ENDIF(WITH_SDL)
IF(WITH_QUICKTIME)
TARGET_LINK_LIBRARIES(${target} ${QUICKTIME_LIB})
ENDIF(WITH_QUICKTIME)
IF(WITH_OPENEXR)
TARGET_LINK_LIBRARIES(${target} ${OPENEXR_LIB})
ENDIF(WITH_OPENEXR)
IF(WITH_FFMPEG)
TARGET_LINK_LIBRARIES(${target} ${FFMPEG_LIB})
ENDIF(WITH_FFMPEG)
IF(WITH_OPENCOLLADA)
TARGET_LINK_LIBRARIES(${target} ${OPENCOLLADA_LIB})
TARGET_LINK_LIBRARIES(${target} ${PCRE_LIB})
TARGET_LINK_LIBRARIES(${target} ${EXPAT_LIB})
ENDIF(WITH_OPENCOLLADA)
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} ${PTHREADS_LIB})
ENDIF(WIN32)
ENDMACRO(SETUP_LIBLINKS)

File diff suppressed because it is too large Load Diff

14
COPYING
View File

@@ -1,3 +1,11 @@
Please read over both of the following files:
doc/GPL-license.txt
doc/BL-license.txt
Blender uses the GNU General Public License, which describes the rights
to distribute or change the code.
Please read this file for the full license.
doc/license/GPL-license.txt
Apart from the GNU GPL, Blender is not available under other licenses.
2010, Blender Foundation
foundation@blender.org

View File

@@ -41,16 +41,16 @@ sinclude user-def.mk
# export NAN_NO_OPENAL=true
export NANBLENDERHOME=$(shell pwd)
MAKEFLAGS=-I$(NANBLENDERHOME)/source --no-print-directory
MAKEFLAGS=-I$(NANBLENDERHOME)/build_files/make --no-print-directory
SOURCEDIR =
ifeq ($(FREE_WINDOWS),true)
DIRS ?= dlltool extern intern source po
DIRS ?= $(NANBLENDERHOME)/build_files/make/dlltool extern intern source po
else
DIRS ?= extern intern source po
endif
include source/nan_subdirs.mk
include build_files/make/nan_subdirs.mk
.PHONY: release
release:

45
README
View File

@@ -1,45 +0,0 @@
Welcome to the fun world of open source.
For instructions on building and installing Blender, please see the file named
INSTALL.
---------------------.Blanguages and the .blender directory---------------------
The .blender directory holds various data files for Blender.
In the 2.28a release those are the .Blanguages file containing a list of
translations, the translations themselves and a default ttf font.
Blender checks for the presence of this directory in several locations:
- the current directory
- your home directory
- On OSX, the blender bundle is also checked
- On Windows, the installation dir is checked.
If you get a 'File ".Blanguages" not found' warning, try to copy the .blender
dir to one of these locations (your home directory being recommended).
-------------------------------------Links--------------------------------------
Getting Involved:
http://www.blender.org/community/get-involved
Community:
http://www.blender.org/Community
Main blender development site:
http://www.blender.org
The Blender project homepage:
http://projects.blender.org/projects/bf-blender
Documentation:
http://www.blender.org/education-help
Bug tracker:
http://www.blender.org/development/report-a-bug
Feature request tracker:
http://wiki.blender.org/index.php/Requests

View File

@@ -33,9 +33,9 @@ import platform as pltfrm
# Need a better way to do this. Automagical maybe is not the best thing, maybe it is.
if pltfrm.architecture()[0] == '64bit':
bitness = 64
bitness = 64
else:
bitness = 32
bitness = 32
import sys
import os
@@ -46,15 +46,22 @@ import glob
import re
from tempfile import mkdtemp
import tools.Blender
import tools.btools
import tools.bcolors
# store path to tools
toolpath=os.path.join(".", "build_files", "scons", "tools")
# needed for importing tools
sys.path.append(toolpath)
import Blender
import btools
import bcolors
EnsureSConsVersion(1,0,0)
BlenderEnvironment = tools.Blender.BlenderEnvironment
btools = tools.btools
B = tools.Blender
BlenderEnvironment = Blender.BlenderEnvironment
B = Blender
VERSION = btools.VERSION # This is used in creating the local config directories
### globals ###
platform = sys.platform
@@ -72,15 +79,15 @@ B.binarykind = ['blender' , 'blenderplayer']
# XX cheating for BF_FANCY, we check for BF_FANCY before args are validated
use_color = ARGUMENTS.get('BF_FANCY', '1')
if platform=='win32':
use_color = None
use_color = None
if not use_color=='1':
B.bc.disable()
B.bc.disable()
#on defaut white Os X terminal, some colors are totally unlegible
if platform=='darwin':
B.bc.OKGREEN = '\033[34m'
B.bc.WARNING = '\033[36m'
B.bc.OKGREEN = '\033[34m'
B.bc.WARNING = '\033[36m'
# arguments
print B.bc.HEADER+'Command-line arguments'+B.bc.ENDC
@@ -103,283 +110,259 @@ quickie = B.arguments.get('BF_QUICK', None)
quickdebug = B.arguments.get('BF_QUICKDEBUG', None)
if quickdebug:
B.quickdebug=string.split(quickdebug, ',')
B.quickdebug=string.split(quickdebug, ',')
else:
B.quickdebug=[]
B.quickdebug=[]
if quickie:
B.quickie=string.split(quickie,',')
B.quickie=string.split(quickie,',')
else:
B.quickie=[]
B.quickie=[]
toolset = B.arguments.get('BF_TOOLSET', None)
if toolset:
print "Using " + toolset
if toolset=='mstoolkit':
env = BlenderEnvironment(ENV = os.environ)
env.Tool('mstoolkit', ['tools'])
else:
env = BlenderEnvironment(tools=[toolset], ENV = os.environ)
# xxx commented out, as was supressing warnings under mingw..
#if env:
# btools.SetupSpawn(env)
print "Using " + toolset
if toolset=='mstoolkit':
env = BlenderEnvironment(ENV = os.environ)
env.Tool('mstoolkit', [toolpath])
else:
env = BlenderEnvironment(tools=[toolset], ENV = os.environ)
# xxx commented out, as was supressing warnings under mingw..
#if env:
# btools.SetupSpawn(env)
else:
if bitness==64 and platform=='win32':
env = BlenderEnvironment(ENV = os.environ, MSVS_ARCH='amd64')
else:
env = BlenderEnvironment(ENV = os.environ)
if bitness==64 and platform=='win32':
env = BlenderEnvironment(ENV = os.environ, MSVS_ARCH='amd64')
else:
env = BlenderEnvironment(ENV = os.environ)
if not env:
print "Could not create a build environment"
Exit()
print "Could not create a build environment"
Exit()
cc = B.arguments.get('CC', None)
cxx = B.arguments.get('CXX', None)
if cc:
env['CC'] = cc
env['CC'] = cc
if cxx:
env['CXX'] = cxx
env['CXX'] = cxx
if env['CC'] in ['cl', 'cl.exe'] and sys.platform=='win32':
if bitness == 64:
platform = 'win64-vc'
else:
platform = 'win32-vc'
if bitness == 64:
platform = 'win64-vc'
else:
platform = 'win32-vc'
elif env['CC'] in ['gcc'] and sys.platform=='win32':
platform = 'win32-mingw'
platform = 'win32-mingw'
env.SConscriptChdir(0)
crossbuild = B.arguments.get('BF_CROSS', None)
if crossbuild and platform not in ('win32-vc', 'win64-vc'):
platform = 'linuxcross'
platform = 'linuxcross'
env['OURPLATFORM'] = platform
configfile = 'config'+os.sep+platform+'-config.py'
configfile = os.path.join("build_files", "scons", "config", platform + "-config.py")
if os.path.exists(configfile):
print B.bc.OKGREEN + "Using config file: " + B.bc.ENDC + configfile
print B.bc.OKGREEN + "Using config file: " + B.bc.ENDC + configfile
else:
print B.bc.FAIL + configfile + " doesn't exist" + B.bc.ENDC
print B.bc.FAIL + configfile + " doesn't exist" + B.bc.ENDC
if crossbuild and env['PLATFORM'] != 'win32':
print B.bc.HEADER+"Preparing for crossbuild"+B.bc.ENDC
env.Tool('crossmingw', ['tools'])
# todo: determine proper libs/includes etc.
# Needed for gui programs, console programs should do without it
env.Append(LINKFLAGS=['-mwindows'])
print B.bc.HEADER+"Preparing for crossbuild"+B.bc.ENDC
env.Tool('crossmingw', [toolpath])
# todo: determine proper libs/includes etc.
# Needed for gui programs, console programs should do without it
# Now we don't need this option to have console window
# env.Append(LINKFLAGS=['-mwindows'])
userconfig = B.arguments.get('BF_CONFIG', 'user-config.py')
# first read platform config. B.arguments will override
optfiles = [configfile]
if os.path.exists(userconfig):
print B.bc.OKGREEN + "Using user-config file: " + B.bc.ENDC + userconfig
optfiles += [userconfig]
print B.bc.OKGREEN + "Using user-config file: " + B.bc.ENDC + userconfig
optfiles += [userconfig]
else:
print B.bc.WARNING + userconfig + " not found, no user overrides" + B.bc.ENDC
print B.bc.WARNING + userconfig + " not found, no user overrides" + B.bc.ENDC
opts = btools.read_opts(optfiles, B.arguments)
opts = btools.read_opts(env, optfiles, B.arguments)
opts.Update(env)
if not env['BF_FANCY']:
B.bc.disable()
B.bc.disable()
# remove install dir so old and new files are not mixed.
# NOTE: only do the scripts directory for now, otherwise is too disruptive for developers
# TODO: perhaps we need an option (off by default) to not do this altogether...
if not env['WITHOUT_BF_INSTALL'] and not env['WITHOUT_BF_OVERWRITE_INSTALL']:
scriptsDir = os.path.join(env['BF_INSTALLDIR'], VERSION, 'scripts')
if os.path.isdir(scriptsDir):
print B.bc.OKGREEN + "Clearing installation directory%s: %s" % (B.bc.ENDC, os.path.abspath(scriptsDir))
shutil.rmtree(scriptsDir)
SetOption('num_jobs', int(env['BF_NUMJOBS']))
print "Build with %d parallel jobs" % (GetOption('num_jobs'))
print B.bc.OKGREEN + "Build with parallel jobs%s: %s" % (B.bc.ENDC, GetOption('num_jobs'))
print B.bc.OKGREEN + "Build with debug symbols%s: %s" % (B.bc.ENDC, env['BF_DEBUG'])
# BLENDERPATH is a unix only option to enable typical style paths this is
# spesifically a data-dir, which is used a lot but cant replace BF_INSTALLDIR
# because the blender binary is installed in $BF_INSTALLDIR/bin/blender
if 'blenderlite' in B.targets:
target_env_defs = {}
target_env_defs['WITH_BF_GAMEENGINE'] = False
target_env_defs['WITH_BF_OPENAL'] = False
target_env_defs['WITH_BF_OPENEXR'] = False
target_env_defs['WITH_BF_OPENMP'] = False
target_env_defs['WITH_BF_ICONV'] = False
target_env_defs['WITH_BF_INTERNATIONAL'] = False
target_env_defs['WITH_BF_OPENJPEG'] = False
target_env_defs['WITH_BF_FFMPEG'] = False
target_env_defs['WITH_BF_QUICKTIME'] = False
target_env_defs['WITH_BF_REDCODE'] = False
target_env_defs['WITH_BF_DDS'] = False
target_env_defs['WITH_BF_CINEON'] = False
target_env_defs['WITH_BF_HDR'] = False
target_env_defs['WITH_BF_ZLIB'] = False
target_env_defs['WITH_BF_SDL'] = False
target_env_defs['WITH_BF_JPEG'] = False
target_env_defs['WITH_BF_PNG'] = False
target_env_defs['WITH_BF_BULLET'] = False
target_env_defs['WITH_BF_BINRELOC'] = False
target_env_defs['BF_BUILDINFO'] = False
target_env_defs['BF_NO_ELBEEM'] = True
target_env_defs['WITH_BF_PYTHON'] = False
# Merge blenderlite, let command line to override
for k,v in target_env_defs.iteritems():
if k not in B.arguments:
env[k] = v
if env['WITH_BF_FHS']:
BLENDERPATH = os.path.join(env['BF_INSTALLDIR'], 'share', 'blender', env['BF_VERSION'])
else:
BLENDERPATH = env['BF_INSTALLDIR']
# disable elbeem (fluidsim) compilation?
if env['BF_NO_ELBEEM'] == 1:
env['CPPFLAGS'].append('-DDISABLE_ELBEEM')
env['CXXFLAGS'].append('-DDISABLE_ELBEEM')
env['CCFLAGS'].append('-DDISABLE_ELBEEM')
if env['WITH_BF_OPENMP'] == 1:
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
env['CCFLAGS'].append('/openmp')
env['CPPFLAGS'].append('/openmp')
env['CXXFLAGS'].append('/openmp')
else:
if env['CC'].endswith('icc'): # to be able to handle CC=/opt/bla/icc case
env.Append(LINKFLAGS=['-openmp', '-static-intel'])
env['CCFLAGS'].append('-openmp')
env['CPPFLAGS'].append('-openmp')
env['CXXFLAGS'].append('-openmp')
else:
env.Append(CCFLAGS=['-fopenmp'])
env.Append(CPPFLAGS=['-fopenmp'])
env.Append(CXXFLAGS=['-fopenmp'])
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
env['CCFLAGS'].append('/openmp')
env['CPPFLAGS'].append('/openmp')
env['CXXFLAGS'].append('/openmp')
else:
if env['CC'].endswith('icc'): # to be able to handle CC=/opt/bla/icc case
env.Append(LINKFLAGS=['-openmp', '-static-intel'])
env['CCFLAGS'].append('-openmp')
env['CPPFLAGS'].append('-openmp')
env['CXXFLAGS'].append('-openmp')
else:
env.Append(CCFLAGS=['-fopenmp'])
env.Append(CPPFLAGS=['-fopenmp'])
env.Append(CXXFLAGS=['-fopenmp'])
if env['WITH_GHOST_COCOA'] == True:
env.Append(CFLAGS=['-DGHOST_COCOA'])
env.Append(CXXFLAGS=['-DGHOST_COCOA'])
env.Append(CPPFLAGS=['-DGHOST_COCOA'])
env.Append(CFLAGS=['-DGHOST_COCOA'])
env.Append(CXXFLAGS=['-DGHOST_COCOA'])
env.Append(CPPFLAGS=['-DGHOST_COCOA'])
if env['USE_QTKIT'] == True:
env.Append(CFLAGS=['-DUSE_QTKIT'])
env.Append(CXXFLAGS=['-DUSE_QTKIT'])
env.Append(CPPFLAGS=['-DUSE_QTKIT'])
env.Append(CFLAGS=['-DUSE_QTKIT'])
env.Append(CXXFLAGS=['-DUSE_QTKIT'])
env.Append(CPPFLAGS=['-DUSE_QTKIT'])
#check for additional debug libnames
if env.has_key('BF_DEBUG_LIBS'):
B.quickdebug += env['BF_DEBUG_LIBS']
B.quickdebug += env['BF_DEBUG_LIBS']
printdebug = B.arguments.get('BF_LISTDEBUG', 0)
# see if this linux distro has libalut
if env['OURPLATFORM'] == 'linux2' :
if env['WITH_BF_OPENAL']:
mylib_test_source_file = """
#include "AL/alut.h"
int main(int argc, char **argv)
{
alutGetMajorVersion();
return 0;
}
"""
def CheckFreeAlut(context,env):
context.Message( B.bc.OKGREEN + "Linux platform detected:\n checking for FreeAlut... " + B.bc.ENDC )
env['LIBS'] = 'alut'
result = context.TryLink(mylib_test_source_file, '.c')
context.Result(result)
return result
env2 = env.Clone( LIBPATH = env['BF_OPENAL'] )
sconf_temp = mkdtemp()
conf = Configure( env2, {'CheckFreeAlut' : CheckFreeAlut}, sconf_temp, '/dev/null' )
if conf.CheckFreeAlut( env2 ):
env['BF_OPENAL_LIB'] += ' alut'
del env2
root = ''
for root, dirs, files in os.walk(sconf_temp, topdown=False):
for name in files:
os.remove(os.path.join(root, name))
for name in dirs:
os.rmdir(os.path.join(root, name))
if root: os.rmdir(root)
if len(B.quickdebug) > 0 and printdebug != 0:
print B.bc.OKGREEN + "Buildings these libs with debug symbols:" + B.bc.ENDC
for l in B.quickdebug:
print "\t" + l
print B.bc.OKGREEN + "Buildings these libs with debug symbols:" + B.bc.ENDC
for l in B.quickdebug:
print "\t" + l
# remove stdc++ from LLIBS if we are building a statc linked CXXFLAGS
if env['WITH_BF_STATICCXX']:
if 'stdc++' in env['LLIBS']:
env['LLIBS'].remove('stdc++')
else:
print '\tcould not remove stdc++ library from LLIBS, WITH_BF_STATICCXX may not work for your platform'
if 'stdc++' in env['LLIBS']:
env['LLIBS'].remove('stdc++')
else:
print '\tcould not remove stdc++ library from LLIBS, WITH_BF_STATICCXX may not work for your platform'
# check target for blenderplayer. Set WITH_BF_PLAYER if found on cmdline
if 'blenderplayer' in B.targets:
env['WITH_BF_PLAYER'] = True
env['WITH_BF_PLAYER'] = True
if 'blendernogame' in B.targets:
env['WITH_BF_GAMEENGINE'] = False
env['WITH_BF_GAMEENGINE'] = False
if 'blenderlite' in B.targets:
target_env_defs = {}
target_env_defs['WITH_BF_GAMEENGINE'] = False
target_env_defs['WITH_BF_OPENAL'] = False
target_env_defs['WITH_BF_OPENEXR'] = False
target_env_defs['WITH_BF_ICONV'] = False
target_env_defs['WITH_BF_INTERNATIONAL'] = False
target_env_defs['WITH_BF_OPENJPEG'] = False
target_env_defs['WITH_BF_FFMPEG'] = False
target_env_defs['WITH_BF_QUICKTIME'] = False
target_env_defs['WITH_BF_REDCODE'] = False
target_env_defs['WITH_BF_DDS'] = False
target_env_defs['WITH_BF_ZLIB'] = False
target_env_defs['WITH_BF_SDL'] = False
target_env_defs['WITH_BF_JPEG'] = False
target_env_defs['WITH_BF_PNG'] = False
target_env_defs['WITH_BF_BULLET'] = False
target_env_defs['WITH_BF_BINRELOC'] = False
target_env_defs['BF_BUILDINFO'] = False
target_env_defs['BF_NO_ELBEEM'] = True
target_env_defs['WITH_BF_PYTHON'] = False
# Merge blenderlite, let command line to override
for k,v in target_env_defs.iteritems():
if k not in B.arguments:
env[k] = v
# disable elbeem (fluidsim) compilation?
if env['BF_NO_ELBEEM'] == 1:
env['CPPFLAGS'].append('-DDISABLE_ELBEEM')
env['CXXFLAGS'].append('-DDISABLE_ELBEEM')
env['CCFLAGS'].append('-DDISABLE_ELBEEM')
if env['WITH_BF_SDL'] == False and env['OURPLATFORM'] in ('win32-vc', 'win32-ming', 'win64-vc'):
env['PLATFORM_LINKFLAGS'].remove('/ENTRY:mainCRTStartup')
env['PLATFORM_LINKFLAGS'].append('/ENTRY:main')
env['PLATFORM_LINKFLAGS'].remove('/ENTRY:mainCRTStartup')
env['PLATFORM_LINKFLAGS'].append('/ENTRY:main')
# lastly we check for root_build_dir ( we should not do before, otherwise we might do wrong builddir
B.root_build_dir = env['BF_BUILDDIR']
B.doc_build_dir = os.path.join(BLENDERPATH, 'doc')
B.doc_build_dir = os.path.join(env['BF_INSTALLDIR'], 'doc')
if not B.root_build_dir[-1]==os.sep:
B.root_build_dir += os.sep
B.root_build_dir += os.sep
if not B.doc_build_dir[-1]==os.sep:
B.doc_build_dir += os.sep
B.doc_build_dir += os.sep
# We do a shortcut for clean when no quicklist is given: just delete
# builddir without reading in SConscripts
do_clean = None
if 'clean' in B.targets:
do_clean = True
do_clean = True
if not quickie and do_clean:
if os.path.exists(B.doc_build_dir):
print B.bc.HEADER+'Cleaning doc dir...'+B.bc.ENDC
dirs = os.listdir(B.doc_build_dir)
for entry in dirs:
if os.path.isdir(B.doc_build_dir + entry) == 1:
print "clean dir %s"%(B.doc_build_dir+entry)
shutil.rmtree(B.doc_build_dir+entry)
else: # remove file
print "remove file %s"%(B.doc_build_dir+entry)
os.remove(B.root_build_dir+entry)
if os.path.exists(B.root_build_dir):
print B.bc.HEADER+'Cleaning build dir...'+B.bc.ENDC
dirs = os.listdir(B.root_build_dir)
for entry in dirs:
if os.path.isdir(B.root_build_dir + entry) == 1:
print "clean dir %s"%(B.root_build_dir+entry)
shutil.rmtree(B.root_build_dir+entry)
else: # remove file
print "remove file %s"%(B.root_build_dir+entry)
os.remove(B.root_build_dir+entry)
for confile in ['extern/ffmpeg/config.mak', 'extern/x264/config.mak',
'extern/xvidcore/build/generic/platform.inc', 'extern/ffmpeg/include']:
if os.path.exists(confile):
print "clean file %s"%confile
if os.path.isdir(confile):
for root, dirs, files in os.walk(confile):
for name in files:
os.remove(os.path.join(root, name))
else:
os.remove(confile)
print B.bc.OKGREEN+'...done'+B.bc.ENDC
else:
print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC
Exit()
if os.path.exists(B.doc_build_dir):
print B.bc.HEADER+'Cleaning doc dir...'+B.bc.ENDC
dirs = os.listdir(B.doc_build_dir)
for entry in dirs:
if os.path.isdir(B.doc_build_dir + entry) == 1:
print "clean dir %s"%(B.doc_build_dir+entry)
shutil.rmtree(B.doc_build_dir+entry)
else: # remove file
print "remove file %s"%(B.doc_build_dir+entry)
os.remove(B.root_build_dir+entry)
if os.path.exists(B.root_build_dir):
print B.bc.HEADER+'Cleaning build dir...'+B.bc.ENDC
dirs = os.listdir(B.root_build_dir)
for entry in dirs:
if os.path.isdir(B.root_build_dir + entry) == 1:
print "clean dir %s"%(B.root_build_dir+entry)
shutil.rmtree(B.root_build_dir+entry)
else: # remove file
print "remove file %s"%(B.root_build_dir+entry)
os.remove(B.root_build_dir+entry)
for confile in ['extern/ffmpeg/config.mak', 'extern/x264/config.mak',
'extern/xvidcore/build/generic/platform.inc', 'extern/ffmpeg/include']:
if os.path.exists(confile):
print "clean file %s"%confile
if os.path.isdir(confile):
for root, dirs, files in os.walk(confile):
for name in files:
os.remove(os.path.join(root, name))
else:
os.remove(confile)
print B.bc.OKGREEN+'...done'+B.bc.ENDC
else:
print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC
Exit()
if not os.path.isdir ( B.root_build_dir):
os.makedirs ( B.root_build_dir )
os.makedirs ( B.root_build_dir + 'source' )
os.makedirs ( B.root_build_dir + 'intern' )
os.makedirs ( B.root_build_dir + 'extern' )
os.makedirs ( B.root_build_dir + 'lib' )
os.makedirs ( B.root_build_dir + 'bin' )
if not os.path.isdir(B.doc_build_dir) and env['WITH_BF_DOCS']:
os.makedirs ( B.doc_build_dir )
os.makedirs ( B.root_build_dir )
os.makedirs ( B.root_build_dir + 'source' )
os.makedirs ( B.root_build_dir + 'intern' )
os.makedirs ( B.root_build_dir + 'extern' )
os.makedirs ( B.root_build_dir + 'lib' )
os.makedirs ( B.root_build_dir + 'bin' )
# # Docs not working with epy anymore
# if not os.path.isdir(B.doc_build_dir) and env['WITH_BF_DOCS']:
# os.makedirs ( B.doc_build_dir )
Help(opts.GenerateHelpText(env))
@@ -387,12 +370,12 @@ Help(opts.GenerateHelpText(env))
# commands, do 'scons BF_QUIET=0'
bf_quietoutput = B.arguments.get('BF_QUIET', '1')
if env['BF_QUIET']:
B.set_quiet_output(env)
B.set_quiet_output(env)
else:
if toolset=='msvc':
B.msvc_hack(env)
if toolset=='msvc':
B.msvc_hack(env)
print B.bc.HEADER+'Building in '+B.bc.ENDC+B.root_build_dir
print B.bc.HEADER+'Building in: ' + B.bc.ENDC + os.path.abspath(B.root_build_dir)
env.SConsignFile(B.root_build_dir+'scons-signatures')
B.init_lib_dict()
@@ -412,23 +395,23 @@ SConscript(B.root_build_dir+'/source/SConscript')
# libraries to give as objects to linking phase
mainlist = []
for tp in B.possible_types:
if not tp == 'player':
mainlist += B.create_blender_liblist(env, tp)
if not tp == 'player':
mainlist += B.create_blender_liblist(env, tp)
if B.arguments.get('BF_PRIORITYLIST', '0')=='1':
B.propose_priorities()
B.propose_priorities()
dobj = B.buildinfo(env, "dynamic") + B.resources
thestatlibs, thelibincs = B.setup_staticlibs(env)
thesyslibs = B.setup_syslibs(env)
if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']:
env.BlenderProg(B.root_build_dir, "blender", dobj + mainlist, [], thestatlibs + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
env.BlenderProg(B.root_build_dir, "blender", mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
if env['WITH_BF_PLAYER']:
playerlist = B.create_blender_liblist(env, 'player')
playerlist += B.create_blender_liblist(env, 'intern')
playerlist += B.create_blender_liblist(env, 'extern')
env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist, [], thestatlibs + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
playerlist = B.create_blender_liblist(env, 'player')
playerlist += B.create_blender_liblist(env, 'intern')
playerlist += B.create_blender_liblist(env, 'extern')
env.BlenderProg(B.root_build_dir, "blenderplayer", playerlist, thestatlibs + dobj + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
##### Now define some targets
@@ -438,184 +421,220 @@ if env['WITH_BF_PLAYER']:
#-- binaries
blenderinstall = []
if env['OURPLATFORM']=='darwin':
for prg in B.program_list:
bundle = '%s.app' % prg[0]
bundledir = os.path.dirname(bundle)
for dp, dn, df in os.walk(bundle):
if '.svn' in dn:
dn.remove('.svn')
dir=env['BF_INSTALLDIR']+dp[len(bundledir):]
source=[dp+os.sep+f for f in df]
blenderinstall.append(env.Install(dir=dir,source=source))
for prg in B.program_list:
bundle = '%s.app' % prg[0]
bundledir = os.path.dirname(bundle)
for dp, dn, df in os.walk(bundle):
if '.svn' in dn:
dn.remove('.svn')
if '_svn' in dn:
dn.remove('_svn')
dir=env['BF_INSTALLDIR']+dp[len(bundledir):]
source=[dp+os.sep+f for f in df]
blenderinstall.append(env.Install(dir=dir,source=source))
else:
if env['WITH_BF_FHS']: dir= os.path.join(env['BF_INSTALLDIR'], 'bin')
else: dir= env['BF_INSTALLDIR']
blenderinstall = env.Install(dir=dir, source=B.program_list)
blenderinstall = env.Install(dir=env['BF_INSTALLDIR'], source=B.program_list)
#-- .blender
#- dont do .blender and scripts for darwin, it is already in the bundle
#-- local path = config files in install dir: installdir\VERSION
#- dont do config and scripts for darwin, it is already in the bundle
dotblendlist = []
datafileslist = []
datafilestargetlist = []
dottargetlist = []
scriptinstall = []
if env['OURPLATFORM']!='darwin':
for dp, dn, df in os.walk('bin/.blender'):
if '.svn' in dn:
dn.remove('.svn')
for f in df:
if not env['WITH_BF_INTERNATIONAL']:
if 'locale' in dp:
continue
if f == '.Blanguages':
continue
if not env['WITH_BF_FREETYPE']:
if f.endswith('.ttf'):
continue
dotblendlist.append(os.path.join(dp, f))
if env['WITH_BF_FHS']: dir= os.path.join(*([BLENDERPATH] + dp.split(os.sep)[2:])) # skip bin/.blender
else: dir= os.path.join(*([BLENDERPATH] + dp.split(os.sep)[1:])) # skip bin
# print dir+ os.sep + f
print dir
dottargetlist.append(dir + os.sep + f)
for dp, dn, df in os.walk('bin/.blender'):
if '.svn' in dn:
dn.remove('.svn')
if '_svn' in dn:
dn.remove('_svn')
for f in df:
if not env['WITH_BF_INTERNATIONAL']:
if 'locale' in dp:
continue
if f == '.Blanguages':
continue
if not env['WITH_BF_FREETYPE']:
if f.endswith('.ttf'):
continue
if 'locale' in dp:
datafileslist.append(os.path.join(dp,f))
dir= os.path.join(*([env['BF_INSTALLDIR']] + [VERSION] + ['datafiles'] + dp.split(os.sep)[1:])) # skip bin
datafilestargetlist.append(dir + os.sep + f)
dotblenderinstall = []
for targetdir,srcfile in zip(dottargetlist, dotblendlist):
td, tf = os.path.split(targetdir)
dotblenderinstall.append(env.Install(dir=td, source=srcfile))
if env['WITH_BF_PYTHON']:
#-- .blender/scripts
scriptpaths=['release/scripts']
for scriptpath in scriptpaths:
for dp, dn, df in os.walk(scriptpath):
if '.svn' in dn:
dn.remove('.svn')
if env['WITH_BF_FHS']: dir = BLENDERPATH
else: dir = os.path.join(env['BF_INSTALLDIR'], '.blender')
dir += os.sep + os.path.basename(scriptpath) + dp[len(scriptpath):]
source=[os.path.join(dp, f) for f in df]
scriptinstall.append(env.Install(dir=dir,source=source))
else:
dotblendlist.append(os.path.join(dp, f))
dir= os.path.join(*([env['BF_INSTALLDIR']] + [VERSION] + ['config'] + dp.split(os.sep)[1:])) # skip bin
dottargetlist.append(dir + os.sep + f)
dotblenderinstall = []
for targetdir,srcfile in zip(dottargetlist, dotblendlist):
td, tf = os.path.split(targetdir)
dotblenderinstall.append(env.Install(dir=td, source=srcfile))
for targetdir,srcfile in zip(datafilestargetlist, datafileslist):
td, tf = os.path.split(targetdir)
dotblenderinstall.append(env.Install(dir=td, source=srcfile))
if env['WITH_BF_PYTHON']:
#-- local/VERSION/scripts
scriptpaths=['release/scripts']
for scriptpath in scriptpaths:
for dp, dn, df in os.walk(scriptpath):
if '.svn' in dn:
dn.remove('.svn')
if '_svn' in dn:
dn.remove('_svn')
dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
dir += os.sep + os.path.basename(scriptpath) + dp[len(scriptpath):]
source=[os.path.join(dp, f) for f in df if f[-3:]!='pyc']
# To ensure empty dirs are created too
if len(source)==0:
env.Execute(Mkdir(dir))
scriptinstall.append(env.Install(dir=dir,source=source))
#-- icons
if env['OURPLATFORM']=='linux2':
iconlist = []
icontargetlist = []
iconlist = []
icontargetlist = []
for tp, tn, tf in os.walk('release/freedesktop/icons'):
if '.svn' in tn:
tn.remove('.svn')
for f in tf:
iconlist.append(os.path.join(tp, f))
icontargetlist.append( os.path.join(*([BLENDERPATH] + tp.split(os.sep)[2:] + [f])) )
for tp, tn, tf in os.walk('release/freedesktop/icons'):
if '.svn' in tn:
tn.remove('.svn')
if '_svn' in tn:
tn.remove('_svn')
for f in tf:
iconlist.append(os.path.join(tp, f))
icontargetlist.append( os.path.join(*([env['BF_INSTALLDIR']] + tp.split(os.sep)[2:] + [f])) )
iconinstall = []
for targetdir,srcfile in zip(icontargetlist, iconlist):
td, tf = os.path.split(targetdir)
iconinstall.append(env.Install(dir=td, source=srcfile))
iconinstall = []
for targetdir,srcfile in zip(icontargetlist, iconlist):
td, tf = os.path.split(targetdir)
iconinstall.append(env.Install(dir=td, source=srcfile))
# dlls for linuxcross
# TODO - add more libs, for now this lets blenderlite run
if env['OURPLATFORM']=='linuxcross':
dir=env['BF_INSTALLDIR']
source = ['../lib/windows/pthreads/lib/pthreadGC2.dll']
scriptinstall.append(env.Install(dir=dir, source=source))
dir=env['BF_INSTALLDIR']
source = []
if env['WITH_BF_OPENMP']:
source += ['../lib/windows/pthreads/lib/pthreadGC2.dll']
scriptinstall.append(env.Install(dir=dir, source=source))
#-- plugins
pluglist = []
plugtargetlist = []
for tp, tn, tf in os.walk('release/plugins'):
if '.svn' in tn:
tn.remove('.svn')
df = tp[8:] # remove 'release/'
for f in tf:
pluglist.append(os.path.join(tp, f))
plugtargetlist.append( os.path.join(BLENDERPATH, df, f) )
if '.svn' in tn:
tn.remove('.svn')
if '_svn' in tn:
tn.remove('_svn')
df = tp[8:] # remove 'release/'
for f in tf:
pluglist.append(os.path.join(tp, f))
plugtargetlist.append( os.path.join(env['BF_INSTALLDIR'], df, f) )
# header files for plugins
pluglist.append('source/blender/blenpluginapi/documentation.h')
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'documentation.h'))
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], 'plugins', 'include', 'documentation.h'))
pluglist.append('source/blender/blenpluginapi/externdef.h')
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'externdef.h'))
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], 'plugins', 'include', 'externdef.h'))
pluglist.append('source/blender/blenpluginapi/floatpatch.h')
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'floatpatch.h'))
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], 'plugins', 'include', 'floatpatch.h'))
pluglist.append('source/blender/blenpluginapi/iff.h')
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'iff.h'))
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], 'plugins', 'include', 'iff.h'))
pluglist.append('source/blender/blenpluginapi/plugin.h')
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'plugin.h'))
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], 'plugins', 'include', 'plugin.h'))
pluglist.append('source/blender/blenpluginapi/util.h')
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'util.h'))
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], 'plugins', 'include', 'util.h'))
pluglist.append('source/blender/blenpluginapi/plugin.DEF')
plugtargetlist.append(os.path.join(BLENDERPATH, 'plugins', 'include', 'plugin.def'))
plugtargetlist.append(os.path.join(env['BF_INSTALLDIR'], 'plugins', 'include', 'plugin.def'))
plugininstall = []
for targetdir,srcfile in zip(plugtargetlist, pluglist):
td, tf = os.path.split(targetdir)
plugininstall.append(env.Install(dir=td, source=srcfile))
td, tf = os.path.split(targetdir)
plugininstall.append(env.Install(dir=td, source=srcfile))
textlist = []
texttargetlist = []
for tp, tn, tf in os.walk('release/text'):
if '.svn' in tn:
tn.remove('.svn')
for f in tf:
textlist.append(tp+os.sep+f)
if '.svn' in tn:
tn.remove('.svn')
if '_svn' in tn:
tn.remove('_svn')
for f in tf:
textlist.append(tp+os.sep+f)
textinstall = env.Install(dir=BLENDERPATH, source=textlist)
textinstall = env.Install(dir=env['BF_INSTALLDIR'], source=textlist)
if env['OURPLATFORM']=='darwin':
allinstall = [blenderinstall, plugininstall, textinstall]
allinstall = [blenderinstall, plugininstall, textinstall]
elif env['OURPLATFORM']=='linux2':
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall, iconinstall]
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall, iconinstall]
else:
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall]
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall]
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc'):
if env['OURPLATFORM'] == 'win64-vc':
dllsources = []
else:
dllsources = ['${LCGDIR}/gettext/lib/gnu_gettext.dll',
'${BF_PNG_LIBPATH}/libpng.dll',
'${BF_ZLIB_LIBPATH}/zlib.dll',
'${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll']
if env['WITH_BF_SDL']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically already to SDL on win64
else:
dllsources.append('${BF_SDL_LIBPATH}/SDL.dll')
if env['WITH_BF_PYTHON']:
if env['BF_DEBUG']:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
else:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
if env['WITH_BF_ICONV']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically to iconv on win64
else:
dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll']
if env['WITH_BF_OPENAL']:
dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
if env['WITH_BF_SNDFILE']:
dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
if env['WITH_BF_FFMPEG']:
dllsources += ['${LCGDIR}/ffmpeg/lib/avcodec-52.dll',
'${LCGDIR}/ffmpeg/lib/avformat-52.dll',
'${LCGDIR}/ffmpeg/lib/avdevice-52.dll',
'${LCGDIR}/ffmpeg/lib/avutil-50.dll',
'${LCGDIR}/ffmpeg/lib/swscale-0.dll']
if env['WITH_BF_JACK']:
dllsources += ['${LCGDIR}/jack/lib/libjack.dll']
windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
allinstall += windlls
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
dllsources = []
if not env['OURPLATFORM'] in ('win32-mingw', 'win64-vc', 'linuxcross'):
# For MinGW and linuxcross static linking will be used
dllsources += ['${LCGDIR}/gettext/lib/gnu_gettext.dll']
#currently win64-vc doesn't appear to have libpng.dll
if env['OURPLATFORM'] != 'win64-vc':
dllsources += ['${BF_PNG_LIBPATH}/libpng.dll']
dllsources += ['${BF_ZLIB_LIBPATH}/zlib.dll']
# Used when linking to libtiff was dynamic
# keep it here until compilation on all platform would be ok
# dllsources += ['${BF_TIFF_LIBPATH}/${BF_TIFF_LIB}.dll']
if env['OURPLATFORM'] != 'linuxcross':
# pthreads library is already added
dllsources += ['${BF_PTHREADS_LIBPATH}/${BF_PTHREADS_LIB}.dll']
if env['WITH_BF_SDL']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically already to SDL on win64
else:
dllsources.append('${BF_SDL_LIBPATH}/SDL.dll')
if env['WITH_BF_PYTHON']:
if env['BF_DEBUG']:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
else:
dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
if env['WITH_BF_ICONV']:
if env['OURPLATFORM'] == 'win64-vc':
pass # we link statically to iconv on win64
elif not env['OURPLATFORM'] in ('win32-mingw', 'linuxcross'):
#gettext for MinGW and cross-compilation is compiled staticly
dllsources += ['${BF_ICONV_LIBPATH}/iconv.dll']
if env['WITH_BF_OPENAL']:
dllsources.append('${LCGDIR}/openal/lib/OpenAL32.dll')
dllsources.append('${LCGDIR}/openal/lib/wrap_oal.dll')
if env['WITH_BF_SNDFILE']:
dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
if env['WITH_BF_FFMPEG']:
dllsources += ['${BF_FFMPEG_LIBPATH}/avcodec-52.dll',
'${BF_FFMPEG_LIBPATH}/avformat-52.dll',
'${BF_FFMPEG_LIBPATH}/avdevice-52.dll',
'${BF_FFMPEG_LIBPATH}/avutil-50.dll',
'${BF_FFMPEG_LIBPATH}/swscale-0.dll']
windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)
allinstall += windlls
installtarget = env.Alias('install', allinstall)
bininstalltarget = env.Alias('install-bin', blenderinstall)
@@ -625,38 +644,24 @@ nsiscmd = env.Command('nsisinstaller', None, nsisaction)
nsisalias = env.Alias('nsis', nsiscmd)
if 'blender' in B.targets:
blenderexe= env.Alias('blender', B.program_list)
Depends(blenderexe,installtarget)
blenderexe= env.Alias('blender', B.program_list)
Depends(blenderexe,installtarget)
if env['WITH_BF_PLAYER']:
blenderplayer = env.Alias('blenderplayer', B.program_list)
Depends(blenderplayer,installtarget)
blenderplayer = env.Alias('blenderplayer', B.program_list)
Depends(blenderplayer,installtarget)
if not env['WITH_BF_GAMEENGINE']:
blendernogame = env.Alias('blendernogame', B.program_list)
Depends(blendernogame,installtarget)
blendernogame = env.Alias('blendernogame', B.program_list)
Depends(blendernogame,installtarget)
if 'blenderlite' in B.targets:
blenderlite = env.Alias('blenderlite', B.program_list)
Depends(blenderlite,installtarget)
blenderlite = env.Alias('blenderlite', B.program_list)
Depends(blenderlite,installtarget)
Depends(nsiscmd, allinstall)
Default(B.program_list)
if not env['WITHOUT_BF_INSTALL']:
Default(installtarget)
#------------ EPYDOC
if env['WITH_BF_DOCS']:
try:
import epydoc
except ImportError:
epydoc = None
if epydoc:
SConscript('source/gameengine/PyDoc/SConscript')
else:
print "No epydoc install detected, Python API and Gameengine API Docs will not be generated "
Default(installtarget)

View File

@@ -0,0 +1,37 @@
#!/bin/sh
# This shell script checks out and compiles blender, tested on ubuntu 10.04
# assumes you have dependancies installed alredy
# See this page for more info:
# http://wiki.blender.org/index.php/Dev:2.5/Doc/Building_Blender/Linux/Generic_Distro/CMake
# grab blender
mkdir ~/blender-svn
cd ~/blender-svn
svn co https://svn.blender.org/svnroot/bf-blender/trunk/blender
# create cmake dir
mkdir ~/blender-svn/build-cmake
cd ~/blender-svn/build-cmake
# cmake without copying files for fast rebuilds
# the files from svn will be used in place
cmake ../blender -DWITH_INSTALL:BOOL=FALSE
# make blender, will take some time
make
# link the binary to blenders source directory to run quickly
ln -s ~/blender-svn/build-cmake/bin/blender ~/blender-svn/blender/blender.bin
# useful info
echo ""
echo "* Useful Commands *"
echo " Run Blender: ~/blender-svn/blender/blender.bin"
echo " Update Blender: svn up ~/blender-svn/blender"
echo " Reconfigure Blender: cd ~/blender-svn/build-cmake ; cmake ."
echo " Build Blender: cd ~/blender-svn/build-cmake ; make"
echo ""

View File

@@ -0,0 +1,118 @@
#! /usr/bin/env python
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####
# <pep8 compliant>
def print_help(targets):
print("CMake quicky wrapper, no valid targets given.")
print(" * targets can contain a subset of the full target name.")
print(" * arguments with a '-' prefix are passed onto make.")
print(" * this must run from the cmake build dir")
print(" * alias this with a short command for speedy access, in bash:")
print(" alias mk='../blender/build_files/cmake/example_scripts/make_quicky.py'")
print("")
print(" eg: make_quicky.py -j3 extern python")
print(" ...will execute")
print(" make -j3 extern_binreloc extern_glew bf_python bf_python_ext blender/fast")
print("")
print("Target List:")
for t in targets:
print(" %s" % t)
print("...exiting")
def main():
targets = set()
# collect targets
file = open("Makefile", "r")
for line in file:
line = line.rstrip()
if not line or line[0] in ". \t@$#":
continue
line = line.split("#", 1)[0]
if ":" not in line:
continue
line = line.split(":", 1)[0]
if "/" in line: # cmake terget options, dont need these
continue
targets.add(line)
file.close()
# remove cmake targets
bad = set([
"help",
"clean",
"all",
"preinstall",
"install",
"default_target",
"edit_cache",
"cmake_force",
"rebuild_cache",
"depend",
"cmake_check_build_system",
])
targets -= set(bad)
# parse args
targets = list(targets)
targets.sort()
import sys
if len(sys.argv) == 1:
print_help(targets)
return
targets_new = []
args = []
for arg in sys.argv[1:]:
if arg[0] in "/-":
args.append(arg)
else:
found = False
for t in targets:
if arg in t and t not in targets_new:
targets_new.append(t)
found = True
if not found:
print("Error '%s' not found in...")
for t in targets:
print(" %s" % t)
print("...aborting.")
return
# execute
cmd = "make %s %s blender/fast" % (" ".join(args), " ".join(targets_new))
print("cmake building with targets: %s" % " ".join(targets_new))
print("executing: %s" % cmd)
import os
os.system(cmd)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,259 @@
MACRO(BLENDERLIB_NOLIST
name
sources
includes)
# Gather all headers
FILE(GLOB_RECURSE INC_ALL *.h)
INCLUDE_DIRECTORIES(${includes})
ADD_LIBRARY(${name} ${INC_ALL} ${sources})
# Group by location on disk
SOURCE_GROUP(Files FILES CMakeLists.txt)
SET(ALL_FILES ${sources} ${INC_ALL})
FOREACH(SRC ${ALL_FILES})
STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}")
STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}")
STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}")
IF(REL_DIR)
SOURCE_GROUP(${REL_DIR} FILES ${SRC})
ELSE(REL_DIR)
SOURCE_GROUP(Files FILES ${SRC})
ENDIF(REL_DIR)
ENDFOREACH(SRC)
MESSAGE(STATUS "Configuring library ${name}")
ENDMACRO(BLENDERLIB_NOLIST)
MACRO(BLENDERLIB
name
sources
includes)
BLENDERLIB_NOLIST(${name} "${sources}" "${includes}")
# Add to blender's list of libraries
FILE(APPEND ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt "${name};")
ENDMACRO(BLENDERLIB)
MACRO(SETUP_LIBDIRS)
# see "cmake --help-policy CMP0003"
if(COMMAND cmake_policy)
CMAKE_POLICY(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
LINK_DIRECTORIES(${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${FREETYPE_LIBPATH} ${LIBSAMPLERATE_LIBPATH})
IF(WITH_PYTHON)
LINK_DIRECTORIES(${PYTHON_LIBPATH})
ENDIF(WITH_PYTHON)
IF(WITH_INTERNATIONAL)
LINK_DIRECTORIES(${ICONV_LIBPATH})
LINK_DIRECTORIES(${GETTEXT_LIBPATH})
ENDIF(WITH_INTERNATIONAL)
IF(WITH_SDL)
LINK_DIRECTORIES(${SDL_LIBPATH})
ENDIF(WITH_SDL)
IF(WITH_FFMPEG)
LINK_DIRECTORIES(${FFMPEG_LIBPATH})
ENDIF(WITH_FFMPEG)
IF(WITH_IMAGE_OPENEXR)
LINK_DIRECTORIES(${OPENEXR_LIBPATH})
ENDIF(WITH_IMAGE_OPENEXR)
IF(WITH_IMAGE_TIFF)
LINK_DIRECTORIES(${TIFF_LIBPATH})
ENDIF(WITH_IMAGE_TIFF)
IF(WITH_LCMS)
LINK_DIRECTORIES(${LCMS_LIBPATH})
ENDIF(WITH_LCMS)
IF(WITH_QUICKTIME)
LINK_DIRECTORIES(${QUICKTIME_LIBPATH})
ENDIF(WITH_QUICKTIME)
IF(WITH_OPENAL)
LINK_DIRECTORIES(${OPENAL_LIBPATH})
ENDIF(WITH_OPENAL)
IF(WITH_JACK)
LINK_DIRECTORIES(${JACK_LIBPATH})
ENDIF(WITH_JACK)
IF(WITH_SNDFILE)
LINK_DIRECTORIES(${SNDFILE_LIBPATH})
ENDIF(WITH_SNDFILE)
IF(WITH_FFTW3)
LINK_DIRECTORIES(${FFTW3_LIBPATH})
ENDIF(WITH_FFTW3)
IF(WITH_OPENCOLLADA)
LINK_DIRECTORIES(${OPENCOLLADA_LIBPATH})
LINK_DIRECTORIES(${PCRE_LIBPATH})
LINK_DIRECTORIES(${EXPAT_LIBPATH})
ENDIF(WITH_OPENCOLLADA)
IF(WIN32)
LINK_DIRECTORIES(${PTHREADS_LIBPATH})
ENDIF(WIN32)
ENDMACRO(SETUP_LIBDIRS)
MACRO(SETUP_LIBLINKS
target)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${LLIBS})
# since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
IF(WITH_PYTHON)
TARGET_LINK_LIBRARIES(${target} ${PYTHON_LINKFLAGS})
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} debug ${PYTHON_LIB}_d)
TARGET_LINK_LIBRARIES(${target} optimized ${PYTHON_LIB})
ELSE(WIN32)
TARGET_LINK_LIBRARIES(${target} ${PYTHON_LIB})
ENDIF(WIN32)
ENDIF(WITH_PYTHON)
TARGET_LINK_LIBRARIES(${target} ${OPENGL_glu_LIBRARY} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB})
TARGET_LINK_LIBRARIES(${target} ${FREETYPE_LIBRARY} ${LIBSAMPLERATE_LIB})
IF(WITH_INTERNATIONAL)
TARGET_LINK_LIBRARIES(${target} ${GETTEXT_LIB})
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} ${ICONV_LIB})
ENDIF(WIN32)
ENDIF(WITH_INTERNATIONAL)
IF(WITH_OPENAL)
TARGET_LINK_LIBRARIES(${target} ${OPENAL_LIBRARY})
ENDIF(WITH_OPENAL)
IF(WITH_FFTW3)
TARGET_LINK_LIBRARIES(${target} ${FFTW3_LIB})
ENDIF(WITH_FFTW3)
IF(WITH_JACK)
TARGET_LINK_LIBRARIES(${target} ${JACK_LIB})
ENDIF(WITH_JACK)
IF(WITH_SNDFILE)
TARGET_LINK_LIBRARIES(${target} ${SNDFILE_LIB})
ENDIF(WITH_SNDFILE)
IF(WITH_SDL)
TARGET_LINK_LIBRARIES(${target} ${SDL_LIBRARY})
ENDIF(WITH_SDL)
IF(WITH_QUICKTIME)
TARGET_LINK_LIBRARIES(${target} ${QUICKTIME_LIB})
ENDIF(WITH_QUICKTIME)
IF(WITH_IMAGE_TIFF)
TARGET_LINK_LIBRARIES(${target} ${TIFF_LIBRARY})
ENDIF(WITH_IMAGE_TIFF)
IF(WITH_IMAGE_OPENEXR)
IF(WIN32)
FOREACH(loop_var ${OPENEXR_LIB})
TARGET_LINK_LIBRARIES(${target} debug ${loop_var}_d)
TARGET_LINK_LIBRARIES(${target} optimized ${loop_var})
ENDFOREACH(loop_var)
ELSE(WIN32)
TARGET_LINK_LIBRARIES(${target} ${OPENEXR_LIB})
ENDIF(WIN32)
ENDIF(WITH_IMAGE_OPENEXR)
IF(WITH_LCMS)
TARGET_LINK_LIBRARIES(${target} ${LCMS_LIBRARY})
ENDIF(WITH_LCMS)
IF(WITH_FFMPEG)
TARGET_LINK_LIBRARIES(${target} ${FFMPEG_LIB})
ENDIF(WITH_FFMPEG)
IF(WITH_OPENCOLLADA)
IF(WIN32)
FOREACH(loop_var ${OPENCOLLADA_LIB})
TARGET_LINK_LIBRARIES(${target} debug ${loop_var}_d)
TARGET_LINK_LIBRARIES(${target} optimized ${loop_var})
ENDFOREACH(loop_var)
TARGET_LINK_LIBRARIES(${target} debug ${PCRE_LIB}_d)
TARGET_LINK_LIBRARIES(${target} optimized ${PCRE_LIB})
IF(EXPAT_LIB)
TARGET_LINK_LIBRARIES(${target} debug ${EXPAT_LIB}_d)
TARGET_LINK_LIBRARIES(${target} optimized ${EXPAT_LIB})
ENDIF(EXPAT_LIB)
ELSE(WIN32)
TARGET_LINK_LIBRARIES(${target} ${OPENCOLLADA_LIB})
TARGET_LINK_LIBRARIES(${target} ${PCRE_LIB})
TARGET_LINK_LIBRARIES(${target} ${EXPAT_LIB})
ENDIF(WIN32)
ENDIF(WITH_OPENCOLLADA)
IF(WITH_LCMS)
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} debug ${LCMS_LIB}_d)
TARGET_LINK_LIBRARIES(${target} optimized ${LCMS_LIB})
ENDIF(WIN32)
ENDIF(WITH_LCMS)
IF(WIN32)
TARGET_LINK_LIBRARIES(${target} ${PTHREADS_LIB})
ENDIF(WIN32)
ENDMACRO(SETUP_LIBLINKS)
MACRO(TEST_SSE_SUPPORT)
INCLUDE(CheckCSourceRuns)
MESSAGE(STATUS "Detecting SSE support")
IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_REQUIRED_FLAGS "-msse -msse2")
ELSEIF(MSVC)
SET(CMAKE_REQUIRED_FLAGS "/arch:SSE2") # TODO, SSE 1 ?
ENDIF()
CHECK_C_SOURCE_RUNS("
#include <xmmintrin.h>
int main() { __m128 v = _mm_setzero_ps(); return 0; }"
SUPPORT_SSE_BUILD)
CHECK_C_SOURCE_RUNS("
#include <emmintrin.h>
int main() { __m128d v = _mm_setzero_pd(); return 0; }"
SUPPORT_SSE2_BUILD)
MESSAGE(STATUS "Detecting SSE support")
IF(SUPPORT_SSE_BUILD)
MESSAGE(STATUS " ...SSE support found.")
ELSE(SUPPORT_SSE_BUILD)
MESSAGE(STATUS " ...SSE support missing.")
ENDIF(SUPPORT_SSE_BUILD)
IF(SUPPORT_SSE2_BUILD)
MESSAGE(STATUS " ...SSE2 support found.")
ELSE(SUPPORT_SSE2_BUILD)
MESSAGE(STATUS " ...SSE2 support missing.")
ENDIF(SUPPORT_SSE2_BUILD)
ENDMACRO(TEST_SSE_SUPPORT)
MACRO(GET_BLENDER_VERSION)
FILE(READ ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h CONTENT)
STRING(REGEX REPLACE "\n" ";" CONTENT "${CONTENT}")
STRING(REGEX REPLACE "\t" ";" CONTENT "${CONTENT}")
STRING(REGEX REPLACE " " ";" CONTENT "${CONTENT}")
FOREACH(ITEM ${CONTENT})
IF(LASTITEM MATCHES "BLENDER_VERSION")
MATH(EXPR BLENDER_VERSION_MAJOR "${ITEM} / 100")
MATH(EXPR BLENDER_VERSION_MINOR "${ITEM} % 100")
SET(BLENDER_VERSION "${BLENDER_VERSION_MAJOR}.${BLENDER_VERSION_MINOR}")
ENDIF(LASTITEM MATCHES "BLENDER_VERSION")
IF(LASTITEM MATCHES "BLENDER_SUBVERSION")
SET(BLENDER_SUBVERSION ${ITEM})
ENDIF(LASTITEM MATCHES "BLENDER_SUBVERSION")
IF(LASTITEM MATCHES "BLENDER_MINVERSION")
MATH(EXPR BLENDER_MINVERSION_MAJOR "${ITEM} / 100")
MATH(EXPR BLENDER_MINVERSION_MINOR "${ITEM} % 100")
SET(BLENDER_MINVERSION "${BLENDER_MINVERSION_MAJOR}.${BLENDER_MINVERSION_MINOR}")
ENDIF(LASTITEM MATCHES "BLENDER_MINVERSION")
IF(LASTITEM MATCHES "BLENDER_MINSUBVERSION")
SET(BLENDER_MINSUBVERSION ${ITEM})
ENDIF(LASTITEM MATCHES "BLENDER_MINSUBVERSION")
SET(LASTITEM ${ITEM})
ENDFOREACH(ITEM ${CONTENT})
MESSAGE(STATUS "Version major: ${BLENDER_VERSION_MAJOR}, Version minor: ${BLENDER_VERSION_MINOR}, Subversion: ${BLENDER_SUBVERSION}, Version: ${BLENDER_VERSION}")
MESSAGE(STATUS "Minversion major: ${BLENDER_MINVERSION_MAJOR}, Minversion minor: ${BLENDER_MINVERSION_MINOR}, MinSubversion: ${BLENDER_MINSUBVERSION}, Minversion: ${BLENDER_MINVERSION}")
ENDMACRO(GET_BLENDER_VERSION)

View File

@@ -0,0 +1,38 @@
#!/bin/sh
#
# This is an example script to build things with the Nan Makefiles
#
#
rm -f /tmp/.nanguess
export MAKE=make
export NANBLENDERHOME=`pwd`
export MAKEFLAGS="-w -I $NANBLENDERHOME/source --no-print-directory"
export HMAKE="$NANBLENDERHOME/source/tools/hmake/hmake"
export NAN_PYTHON=/soft/python-2.2.2b1/progeny1
export NAN_PYTHON_VERSION=2.2
export NAN_OPENAL=/usr/local
export NAN_JPEG=/usr/local
export NAN_PNG=/usr/local
export NAN_SDL=/usr/local
export NAN_ODE=/usr/local
export NAN_ZLIB=/usr/local
export NAN_FREETYPE=/usr/local
export NAN_MOZILLA_INC=/usr/local/include/mozilla-1.0.1/
export NAN_MOZILLA_LIB=/usr/local/lib/mozilla-1.0.1/
#export NAN_NSPR=/scratch/irulan/mein/nspr-4.2.2/mozilla/nsprpub/dist/
export CPPFLAGS="$CPPFLAGS"
export CFLAGS="$CFLAGS"
export INTERNATIONAL=true
$HMAKE -C intern/
if [ $? -eq 0 ]; then
$HMAKE -C source/
fi
$HMAKE -C release
#cd release
#make

View File

@@ -0,0 +1,18 @@
#!/bin/bash
rm -f /tmp/.nanguess
export MAKE=make
export NANBLENDERHOME=`pwd`
export MAKEFLAGS="-w -I $NANBLENDERHOME/source --no-print-directory"
export HMAKE="$NANBLENDERHOME/source/tools/hmake/hmake"
echo
echo NANBLENDERHOME : ${NANBLENDERHOME}
export NAN_PYTHON=/sw
$HMAKE -C intern/
if [ $? -eq 0 ]; then
$HMAKE -C source/
fi
cd release
make

View File

@@ -0,0 +1,35 @@
#!/bin/sh
# This is an example build script for SunOS5.8
rm -f /tmp/.nanguess
export MAKE=make
export NANBLENDERHOME=`pwd`
export MAKEFLAGS="-w -I $NANBLENDERHOME/source --no-print-directory"
export HMAKE="$NANBLENDERHOME/source/tools/hmake/hmake"
export NAN_PYTHON=/soft/python-2.2.2b1/SunOS5.8
export NAN_PYTHON_VERSION=2.2
export NAN_OPENAL=/usr/local
export NAN_JPEG=/usr/local
export NAN_PNG=/usr/local
export NAN_SDL=/usr/local
export NAN_ODE=/usr/local
export NAN_OPENSSL=/soft/ssl/openssl-0.9.6e
export NAN_ZLIB=/usr/local
export NAN_FREETYPE=/usr/local
export NAN_MOZILLA_INC=/usr/local/include/mozilla-1.0.1/
export NAN_MOZILLA_LIB=/usr/local/lib/mozilla-1.0.1/
export NAN_NSPR=/scratch/irulan/mein/nspr-4.2.2/mozilla/nsprpub/dist/
export CPPFLAGS="$CPPFLAGS"
export CFLAGS="$CFLAGS"
export INTERNATIONAL=true
$HMAKE -C intern/
if [ $? -eq 0 ]; then
$HMAKE -C source/
fi
$HMAKE -C release
#cd release
#make

View File

@@ -17,7 +17,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
# All rights reserved.
@@ -82,28 +82,25 @@ ifeq ($(OS),darwin)
endif
endif
ifeq ($(CPU),powerpc)
CFLAGS += -pipe -fPIC -ffast-math -mcpu=7450 -mtune=G5 -funsigned-char -fno-strict-aliasing
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
CFLAGS += -pipe -fPIC -mcpu=7450 -mtune=G5 -funsigned-char -fno-strict-aliasing
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
else
CFLAGS += -pipe -fPIC -ffast-math -funsigned-char
CFLAGS += -pipe -fPIC -funsigned-char
CCFLAGS += -pipe -fPIC -funsigned-char
endif
CFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
CCFLAGS += -arch $(MACOSX_ARCHITECTURE) #-isysroot $(MACOSX_SDK) -mmacosx-version-min=$(MACOSX_MIN_VERS)
ifeq ($(MACOSX_ARCHITECTURE), $(findstring $(MACOSX_ARCHITECTURE), "i386 x86_64"))
REL_CFLAGS += -O2 -ftree-vectorize -msse -msse2 -msse3
REL_CCFLAGS += -O2 -ftree-vectorize -msse -msse2 -msse3
else
REL_CFLAGS += -O2
REL_CCFLAGS += -O2
endif
ifeq ($(MACOSX_ARCHITECTURE), x86_64)
REL_CFLAGS += -mssse3
REL_CCFLAGS += -mssse3
endif
CPPFLAGS += -D_THREAD_SAFE -fpascal-strings
CPPFLAGS += -D_THREAD_SAFE
ifeq ($(WITH_COCOA), true)
CPPFLAGS += -DGHOST_COCOA
@@ -174,11 +171,14 @@ ifeq ($(OS),linux)
CCC ?= g++
# CFLAGS += -pipe
# CCFLAGS += -pipe
CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing
CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
CCFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
REL_CFLAGS += -O2
REL_CCFLAGS += -O2
NAN_DEPEND = true
ifeq ($(WITH_BF_RAYOPTIMIZATION), true)
CCFLAGS += -msse
endif
ifeq ($(CPU),alpha)
CFLAGS += -mieee
endif
@@ -214,7 +214,7 @@ ifeq ($(OS),solaris)
#CC ?= cc
#CCC ?= CC
endif
JAVAC = javac
JAVAH = javah
CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing

View File

@@ -17,7 +17,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
# All rights reserved.
@@ -31,7 +31,7 @@
# set some defaults when these are not overruled (?=) by environment variables
#
sinclude ../user-def.mk
sinclude ../../user-def.mk
# This warning only takes place once in source/
ifeq (debug, $(findstring debug, $(MAKECMDGOALS)))
@@ -109,7 +109,7 @@ ifndef CONFIG_GUESS
else
export NAN_FFMPEG ?= $(LCGDIR)/ffmpeg
ifeq ($(OS), darwin)
export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a $(NAN_FFMPEG)/lib/libmp3lame.a $(NAN_FFMPEG)/lib/libx264.a $(NAN_FFMPEG)/lib/libxvidcore.a
export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a $(NAN_FFMPEG)/lib/libmp3lame.a $(NAN_FFMPEG)/lib/libx264.a $(NAN_FFMPEG)/lib/libxvidcore.a $(NAN_FFMPEG)/lib/libtheora.a $(NAN_FFMPEG)/lib/libtheoradec.a $(NAN_FFMPEG)/lib/libtheoraenc.a $(NAN_FFMPEG)/lib/libvorbis.a $(NAN_FFMPEG)/lib/libvorbisenc.a $(NAN_FFMPEG)/lib/libvorbisfile.a $(NAN_FFMPEG)/lib/libogg.a -lbz2
else
export NAN_FFMPEGLIBS ?= $(NAN_FFMPEG)/lib/libavformat.a $(NAN_FFMPEG)/lib/libavcodec.a $(NAN_FFMPEG)/lib/libswscale.a $(NAN_FFMPEG)/lib/libavutil.a $(NAN_FFMPEG)/lib/libavdevice.a
endif
@@ -133,13 +133,13 @@ ifndef CONFIG_GUESS
endif
ifeq ($(WITH_JACK), true)
export NAN_JACK ?= /usr
export NAN_JACK ?= $(LCGDIR)/jack
export NAN_JACKCFLAGS ?= -I$(NAN_JACK)/include/jack
export NAN_JACKLIBS ?= $(NAN_JACK)/lib/libjack.a
endif
ifeq ($(WITH_SNDFILE),true)
export NAN_SNDFILE ?= /usr
export NAN_SNDFILE ?= $(LCGDIR)/sndfile
export NAN_SNDFILECFLAGS ?= -I$(NAN_SNDFILE)/include
export NAN_SNDFILELIBS ?= $(NAN_SNDFILE)/lib/libsndfile.a $(NAN_SNDFILE)/lib/libFLAC.a $(NAN_SNDFILE)/lib/libogg.a
endif
@@ -150,8 +150,29 @@ ifndef CONFIG_GUESS
export NAN_FFMPEGCFLAGS = $(shell pkg-config --cflags libavcodec libavdevice libavformat libswscale libavutil)
endif
# Compare recreated .mo files with committed ones
export BF_VERIFY_MO_FILES ?= true
ifeq ($(WITH_OPENCOLLADA), true)
export BF_OPENCOLLADA ?= $(LCGDIR)/opencollada
export BF_OPENCOLLADA_INC ?= $(BF_OPENCOLLADA)/include
export BF_OPENCOLLADA_LIBS ?= $(BF_OPENCOLLADA)/lib/libOpenCOLLADASaxFrameworkLoader.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAFramework.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADABaseUtils.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAStreamWriter.a $(BF_OPENCOLLADA)/lib/libMathMLSolver.a $(BF_OPENCOLLADA)/lib/libGeneratedSaxParser.a $(BF_OPENCOLLADA)/lib/libUTF.a -lxml2
export BF_PCRE ?= $(LCGDIR)/pcre
export BF_PCRE_LIBS ?= $(BF_PCRE)/lib/libpcre.a
endif
export WITH_TIFF ?= true
#enable raytracing optimization (currently only for i386 and x86_64)
ifeq ($(CPU),powerpc)
export WITH_BF_RAYOPTIMIZATION ?= false
else
export WITH_BF_RAYOPTIMIZATION ?= true
endif
export WITH_LCMS ?= false
export WITH_CINEON ?= true
export WITH_HDR ?= true
# Compare recreated .mo files with committed ones
export BF_VERIFY_MO_FILES ?= true
# Platform Dependent settings go below:
ifeq ($(OS),darwin)
@@ -198,8 +219,8 @@ ifndef CONFIG_GUESS
else
export PY_FRAMEWORK ?= 1
ifdef PY_FRAMEWORK
export NAN_PYTHON ?= /System/Library/Frameworks/Python.framework/Versions/2.5
export NAN_PYTHON_VERSION ?= 2.5
export NAN_PYTHON_VERSION ?= 3.1
export NAN_PYTHON ?= /System/Library/Frameworks/Python.framework/Versions/$(NAN_PYTHON_VERSION)
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
export NAN_PYTHON_LIB ?= -framework Python
else
@@ -257,7 +278,7 @@ ifndef CONFIG_GUESS
export NAN_SAMPLERATE_LIBS ?= $(NAN_SAMPLERATE)/lib/libsamplerate.a
# enable building with Cocoa
export WITH_COCOA ?= true
export WITH_COCOA ?= false
export USE_QTKIT ?= false
# use cocoa and qtkit for 64bit builds
ifeq (64, $(findstring 64, $(MACOSX_ARCHITECTURE)))
@@ -265,6 +286,9 @@ ifndef CONFIG_GUESS
export USE_QTKIT = true
endif
export BF_PCRE = $(LCGDIR)/opencollada
export BF_OPENCOLLADA_LIBS = $(BF_OPENCOLLADA)/lib/libOpenCOLLADASaxFrameworkLoader.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAFramework.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADABaseUtils.a $(BF_OPENCOLLADA)/lib/libOpenCOLLADAStreamWriter.a $(BF_OPENCOLLADA)/lib/libMathMLSolver.a $(BF_OPENCOLLADA)/lib/libGeneratedSaxParser.a $(BF_OPENCOLLADA)/lib/libUTF.a $(BF_OPENCOLLADA)/lib/libftoa.a $(BF_OPENCOLLADA)/lib/libbuffer.a -lxml2
else
ifeq ($(OS),freebsd)
@@ -358,7 +382,7 @@ ifndef CONFIG_GUESS
# enable l10n
export INTERNATIONAL ?= true
# Different endianess will make it fail, rely on other plataforms for checks
# Different endianess will make it fail, rely on other platforms for checks
export BF_VERIFY_MO_FILES = false
else
@@ -400,12 +424,6 @@ ifndef CONFIG_GUESS
export BF_FFTW3_LIBS ?= $(shell pkg-config --libs fftw3 )
endif
ifeq ($(WITH_OPENJPEG), true)
export BF_OPENJPEG ?= /usr
export BF_OPENJPEG_INC ?= /usr/include
export BF_OPENJPEG_LIBS ?= -lopenjpeg
endif
# Uncomment the following line to use Mozilla inplace of netscape
# Location of MOZILLA/Netscape header files...
@@ -428,6 +446,11 @@ ifndef CONFIG_GUESS
export WITH_FFMPEG ?= true
endif
ifeq ($(CPU), powerpc)
# Different endianess will make it fail, rely on other platforms for checks
export BF_VERIFY_MO_FILES = false
endif
else
ifeq ($(OS),openbsd)
@@ -527,7 +550,7 @@ ifndef CONFIG_GUESS
ifeq ($(FREE_WINDOWS), true)
export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/freegettext.a $(NAN_ICONV)/lib/freeiconv.a
export NAN_PYTHON_BINARY ?= $(NAN_PYTHON)/bin/python$(NAN_PYTHON_VERSION)
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/lib25_vs2005/libpython25.a
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/lib25_vs2005/libpython31.a # NOT TESTED, PROBABLY BROKEN
export NAN_FREETYPE ?= $(LCGDIR)/gcc/freetype
export NAN_SDL ?= $(LCGDIR)/gcc/sdl
export NAN_OPENEXR ?= $(LCGDIR)/gcc/openexr
@@ -537,7 +560,7 @@ ifndef CONFIG_GUESS
else
export NAN_GETTEXT_LIB ?= $(NAN_GETTEXT)/lib/gnu_gettext.lib $(NAN_ICONV)/lib/iconv.lib
export NAN_PYTHON_BINARY ?= python
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python23.lib
export NAN_PYTHON_LIB ?= $(NAN_PYTHON)/lib/python31.lib # NOT TESTED, PROBABLY BROKEN
export NAN_FREETYPE ?= $(LCGDIR)/freetype
export NAN_SDL ?= $(LCGDIR)/sdl
export NAN_OPENEXR ?= $(LCGDIR)/openexr
@@ -607,6 +630,14 @@ ifndef CONFIG_GUESS
endif # freebsd
endif # darwin
# default tiff libs
export NAN_TIFF_LIBS ?= $(NAN_TIFF)/lib/libtiff.a
# default path to lcms, may be overidden in platform sections above or in user-def.mk
export BF_LCMS ?= $(LCGDIR)/lcms
export BF_LCMS_INC ?= $(BF_LCMS)/include
export BF_LCMS_LIBS ?= $(BF_LCMS)/lib/liblcms.a
endif # CONFIG_GUESS
# Don't want to build the gameengine?

View File

@@ -17,7 +17,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
# All rights reserved.
@@ -108,7 +108,7 @@ ifeq ($(OS),linux)
endif
ifeq ($(CPU),$(findstring $(CPU), "i386 x86_64 ia64 parisc64 powerpc sparc64"))
COMMENT = "MESA 3.1"
LLIBS = -L$(NAN_MESA)/lib -L/usr/X11R6/lib -lXmu -lXext -lX11 -lXi
LLIBS = -L$(NAN_MESA)/lib -L/usr/X11R6/lib -lXext -lX11 -lXi
LLIBS += -lutil -lc -lm -ldl -lpthread
LLIBS += -L$(NAN_PYTHON)/lib -Wl,-rpath -Wl,$(NAN_PYTHON)/lib -lpython$(NAN_PYTHON_VERSION)
LOPTS = -export-dynamic
@@ -155,7 +155,7 @@ ifeq ($(OS),windows)
LOPTS += /NODEFAULTLIB:"libcd"
LOPTS += /NODEFAULTLIB:"libcp"
LOPTS += /NODEFAULTLIB:"libcpd"
LOPTS += /NODEFAULTLIB:"python20"
LOPTS += /NODEFAULTLIB:"python31"
LOPTS += /NODEFAULTLIB:"msvcrt"
LOPTS += /SUBSYSTEM:CONSOLE
LDFLAGS += /MT
@@ -187,4 +187,16 @@ ifeq ($(WITH_FFTW3),true)
LLIBS += $(BF_FFTW3_LIBS)
endif
ifeq ($(WITH_OPENCOLLADA),true)
LLIBS += $(BF_OPENCOLLADA_LIBS)
endif
ifeq ($(WITH_TIFF),true)
LLIBS += $(NAN_TIFF_LIBS)
endif
ifeq ($(WITH_LCMS),true)
LLIBS += $(BF_LCMS_LIBS)
endif
LLIBS += $(NAN_PYTHON_LIB)

View File

@@ -17,7 +17,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
# All rights reserved.

View File

@@ -17,7 +17,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
# All rights reserved.

View File

@@ -0,0 +1,48 @@
# Maintainer: Campbell Barton <ideasman42 at gmail dot com>
# custom blender vars
blender_srcdir=$srcdir/../../../..
blender_version=$(grep BLENDER_VERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
blender_subversion=$(grep BLENDER_SUBVERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
blender_ver_string=$(expr $blender_version / 100).$(expr $blender_version % 100).$blender_subversion
pkgname=blender-beta
pkgver=$blender_ver_string
pkgrel=1
pkgdesc="A fully integrated 3D graphics creation suite"
arch=('i686' 'x86_64')
url="www.blender.org"
license=('GPL')
groups=()
depends=('libjpeg' 'libpng' 'openexr' 'python3>=3.1' 'gettext' 'libxi' 'libxmu' 'mesa' 'freetype2' 'openal' 'sdl' 'libsndfile' 'libsamplerate' 'ffmpeg')
makedepends=('cmake' 'svn')
optdepends=()
provides=('blender')
conflicts=('blender')
replaces=()
backup=()
options=()
install=blender.install
# use current svn to make the package.
# source=(http://download.blender.org/source/$pkgname-$pkgver.tar.gz)
# md5sums=('27edb80c82c25252d43d6a01980d953a') #generate with 'makepkg -g'
source=()
md5sums=()
noextract=()
build() {
mkdir -p $srcdir/build
cd $srcdir/build
cmake $blender_srcdir \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DWITH_PYTHON_INSTALL:BOOL=OFF \
-DWITH_OPENCOLLADA:BOOL=OFF
make
}
package() {
cd $srcdir/build
make DESTDIR="$pkgdir" install
}

View File

@@ -0,0 +1,29 @@
post_install() {
cat << EOF
NOTE
----
Happy blending!
EOF
echo "update desktop mime database..."
update-desktop-database
}
post_upgrade() {
post_install $1
}
pre_remove() {
/bin/true
}
post_remove() {
echo "update desktop mime database..."
update-desktop-database
}
op=$1
shift
$op $*

View File

@@ -0,0 +1,214 @@
import os
LCGDIR = os.getcwd()+"/../lib/aix-4.3-ppc"
LIBDIR = LCGDIR
print LCGDIR
WITH_BF_VERSE = 'false'
BF_VERSE_INCLUDE = "#extern/verse/dist"
BF_PYTHON = LCGDIR+'/python'
BF_PYTHON_VERSION = '3.1'
WITH_BF_STATICPYTHON = 'true'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}' #BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
BF_PYTHON_LINKFLAGS = ['-Xlinker', '-export-dynamic']
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}/config/libpython${BF_PYTHON_VERSION}.a'
WITH_BF_OPENAL = 'false'
WITH_BF_STATICOPENAL = 'false'
BF_OPENAL = LCGDIR+'/openal'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal'
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
BF_OPENAL_LIBPATH = LIBDIR + '/lib'
BF_CXX = '/usr'
WITH_BF_STATICCXX = 'false'
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
WITH_BF_SDL = 'false'
BF_SDL = LCGDIR+'/sdl' #$(shell sdl-config --prefix)
BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
BF_SDL_LIB = 'SDL audio iconv charset' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
BF_SDL_LIBPATH = '${BF_SDL}/lib'
WITH_BF_OPENEXR = 'false'
WITH_BF_STATICOPENEXR = 'false'
BF_OPENEXR = '/usr'
# when compiling with your own openexr lib you might need to set...
# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
WITH_BF_DDS = 'false'
WITH_BF_JPEG = 'false'
BF_JPEG = LCGDIR+'/jpeg'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
WITH_BF_PNG = 'false'
BF_PNG = LCGDIR+"/png"
BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
BF_PNG_LIBPATH = '${BF_PNG}/lib'
BF_TIFF = '/usr/nekoware'
BF_TIFF_INC = '${BF_TIFF}/include'
WITH_BF_ZLIB = 'true'
BF_ZLIB = LCGDIR+"/zlib"
BF_ZLIB_INC = '${BF_ZLIB}/include'
BF_ZLIB_LIB = 'z'
BF_ZLIB_LIBPATH = '${BF_ZLIB}/lib'
WITH_BF_INTERNATIONAL = 'false'
BF_GETTEXT = LCGDIR+'/gettext'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextpo intl'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_FTGL = 'false'
BF_FTGL = '#extern/bFTGL'
BF_FTGL_INC = '${BF_FTGL}/include'
BF_FTGL_LIB = 'extern_ftgl'
WITH_BF_GAMEENGINE='false'
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
#WITH_BF_NSPR = 'true'
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
#BF_NSPR_LIB =
# Uncomment the following line to use Mozilla inplace of netscape
#CPPFLAGS += -DMOZ_NOT_NET
# Location of MOZILLA/Netscape header files...
#BF_MOZILLA = $(LIBDIR)/mozilla
#BF_MOZILLA_INC = -I$(BF_MOZILLA)/include/mozilla/nspr -I$(BF_MOZILLA)/include/mozilla -I$(BF_MOZILLA)/include/mozilla/xpcom -I$(BF_MOZILLA)/include/mozilla/idl
#BF_MOZILLA_LIB =
# Will fall back to look in BF_MOZILLA_INC/nspr and BF_MOZILLA_LIB
# if this is not set.
#
# Be paranoid regarding library creation (do not update archives)
#BF_PARANOID = 'true'
# enable freetype2 support for text objects
BF_FREETYPE = LCGDIR+'/freetype'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
WITH_BF_QUICKTIME = 'false' # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = 'false'
BF_ICONV = LIBDIR + "/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv charset'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_BINRELOC = 'false'
# enable ffmpeg support
WITH_BF_FFMPEG = 'false' # -DWITH_FFMPEG
# Uncomment the following two lines to use system's ffmpeg
BF_FFMPEG = LCGDIR+'/ffmpeg'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice faad faac vorbis x264 ogg mp3lame z'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = 'false' # -DWITH_OGG
BF_OGG = '/usr'
BF_OGG_INC = '${BF_OGG}/include'
BF_OGG_LIB = 'ogg vorbis theoraenc theoradec'
WITH_BF_OPENJPEG = 'false'
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_REDCODE = 'false'
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
BF_REDCODE_INC = '${BF_REDCODE}/include'
BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = 'false'
BF_OPENGL = '/usr'
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIB = 'GL GLU X11 Xi Xext'
BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
BF_OPENGL_LIB_STATIC = '${BF_OPENGL}/libGL.a ${BF_OPENGL}/libGLU.a ${BF_OPENGL}/libXxf86vm.a ${BF_OPENGL}/libX11.a ${BF_OPENGL}/libXi.a ${BF_OPENGL}/libXext.a ${BF_OPENGL}/libXxf86vm.a'
CC = 'gcc'
CXX = 'g++'
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
CPPFLAGS = [ '-DXP_UNIX', '-DWIN32', '-DFREE_WINDOWS' ]
CXXFLAGS = ['-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
REL_CFLAGS = [ '-O2' ]
REL_CCFLAGS = [ '-O2' ]
C_WARN = [ '-Wall' , '-Wno-char-subscripts', '-Wdeclaration-after-statement' ]
CC_WARN = [ '-Wall' ]
##BF_DEPEND = 'true'
##
##AR = ar
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
##FIX_STUBS_WARNINGS = -Wno-unused
LLIBS = 'c m dl pthread dmedia movie'
##LOPTS = --dynamic
##DYNLDFLAGS = -shared $(LDFLAGS)
BF_PROFILE_FLAGS = ['-pg','-g']
BF_PROFILE = 'false'
BF_DEBUG = 'false'
BF_DEBUG_FLAGS = '-g'
BF_BUILDDIR = '../build/aix4'
BF_INSTALLDIR='../install/aix4'
BF_DOCDIR='../install/doc'
#Link against pthread
LDIRS = []
LDIRS.append(BF_FREETYPE_LIBPATH)
LDIRS.append(BF_PNG_LIBPATH)
LDIRS.append(BF_ZLIB_LIBPATH)
LDIRS.append(BF_SDL_LIBPATH)
LDIRS.append(BF_OPENAL_LIBPATH)
LDIRS.append(BF_ICONV_LIBPATH)
PLATFORM_LINKFLAGS = []
for x in LDIRS:
PLATFORM_LINKFLAGS.append("-L"+x)
PLATFORM_LINKFLAGS += ['-L${LCGDIR}/jpeg/lib' , '-L/usr/lib32', '-n32', '-v', '-no_prelink']
print PLATFORM_LINKFLAGS
LINKFLAGS= PLATFORM_LINKFLAGS

View File

@@ -30,8 +30,6 @@ elif cmd_res[0]=='9':
elif cmd_res[0]=='10':
MAC_CUR_VER='10.6'
BF_PYTHON_VERSION = '3.1'
if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64':
USE_QTKIT=True # Carbon quicktime is not available for 64bit
@@ -73,55 +71,29 @@ LIBDIR = '${LCGDIR}'
################### Dependency settings ##################
#############################################################################
#Defaults openMP to true if compiler (currently only gcc 4.2) handles it
if CC == 'gcc-4.2':
WITH_BF_OPENMP = True # multithreading for fluids, cloth and smoke
else:
WITH_BF_OPENMP = False
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
FFMPEG_PRECOMPILED = True
if FFMPEG_PRECOMPILED:
# use precompiled ffmpeg in /lib
BF_FFMPEG = LIBDIR + '/ffmpeg'
BF_FFMPEG_INC = "#extern/ffmpeg"
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
BF_FFMPEG_LIB = 'avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore'
else:
# use ffmpeg in extern
BF_FFMPEG = "#extern/ffmpeg"
BF_FFMPEG_INC = '${BF_FFMPEG}'
if USE_SDK==True:
BF_FFMPEG_EXTRA = '-isysroot '+MACOSX_SDK+' -mmacosx-version-min='+MAC_MIN_VERS
BF_XVIDCORE_CONFIG = '--disable-assembly --disable-mmx' # currently causes errors, even with yasm installed
BF_X264_CONFIG = '--disable-pthread --disable-asm'
if BF_PYTHON_VERSION=='3.1':
# python 3.1 uses precompiled libraries in bf svn /lib by default
BF_PYTHON = LIBDIR + '/python'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
# BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}'
# BF_PYTHON_LINKFLAGS = ['-u', '_PyMac_Error', '-framework', 'System']
else:
# python 2.5 etc. uses built-in framework
# python.org libs install in /library we want to use that for 2.5
#
# if you want py2.5 on leopard without installing
# change value to BF_PYTHON = '/Library/Frameworks/Python.framework/Versions/'
# BEWARE: in that case it will work only on leopard
BF_PYTHON = '/System/Library/Frameworks/Python.framework/Versions/'
BF_PYTHON_INC = '${BF_PYTHON}${BF_PYTHON_VERSION}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}${BF_PYTHON_VERSION}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = ''
BF_PYTHON_LIBPATH = '${BF_PYTHON}${BF_PYTHON_VERSION}/lib/python${BF_PYTHON_VERSION}/config'
BF_PYTHON_LINKFLAGS = ['-u','_PyMac_Error','-framework','System','-framework','Python']
if MAC_CUR_VER=='10.3' or MAC_CUR_VER=='10.4':
BF_PYTHON_LINKFLAGS = ['-u', '__dummy']+BF_PYTHON_LINKFLAGS
BF_FFMPEG = LIBDIR + '/ffmpeg'
BF_FFMPEG_INC = "${BF_FFMPEG}/include"
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
BF_FFMPEG_LIB = 'avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg bz2'
#bz2 is a standard osx dynlib
# python 3.1 uses precompiled libraries in bf svn /lib by default
BF_PYTHON_VERSION = '3.1'
BF_PYTHON = LIBDIR + '/python'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
# BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}'
# BF_PYTHON_LINKFLAGS = ['-u', '_PyMac_Error', '-framework', 'System']
WITH_BF_OPENMP = '0' # multithreading for fluids, cloth and smoke ( only works with ICC atm )
WITH_BF_OPENAL = True
#different lib must be used following version of gcc
# for gcc 3.3
@@ -159,8 +131,8 @@ BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = True
BF_SNDFILE = LIBDIR + '/sndfile'
BF_SNDFILE_INC = '${BF_SNDFILE}/include'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
BF_SNDFILE_LIB = 'sndfile FLAC ogg vorbis vorbisenc'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib ${BF_FFMPEG}/lib' #ogg libs are stored in ffmpeg dir
WITH_BF_SDL = True
BF_SDL = LIBDIR + '/sdl' #$(shell sdl-config --prefix)
@@ -179,6 +151,13 @@ BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf
WITH_BF_DDS = True
#Color Management System
WITH_BF_LCMS = False
BF_LCMS = LIBDIR + '/lcms'
BF_LCMS_INC = '${BF_LCMS}/include'
BF_LCMS_LIB = 'lcms'
BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
WITH_BF_JPEG = True
BF_JPEG = LIBDIR + '/jpeg'
BF_JPEG_INC = '${BF_JPEG}/include'
@@ -191,8 +170,11 @@ BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
BF_PNG_LIBPATH = '${BF_PNG}/lib'
WITH_BF_TIFF = True
BF_TIFF = LIBDIR + '/tiff'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
WITH_BF_ZLIB = True
BF_ZLIB = '/usr'
@@ -264,7 +246,7 @@ BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = LIBDIR + '/opencollada'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser UTF xml2'
BF_OPENCOLLADA_LIB = 'OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser UTF xml2 buffer ftoa'
BF_OPENCOLLADA_LIBPATH = LIBDIR + '/opencollada'
BF_PCRE = LIBDIR + '/opencollada'
BF_PCRE_LIB = 'pcre'
@@ -274,7 +256,10 @@ BF_PCRE_LIBPATH = '${BF_PCRE}/lib'
#BF_EXPAT_LIBPATH = '/usr/lib'
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = False
if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'i386':
WITH_BF_RAYOPTIMIZATION = True
else:
WITH_BF_RAYOPTIMIZATION = False
if MACOSX_ARCHITECTURE == 'i386':
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
elif MACOSX_ARCHITECTURE == 'x86_64':
@@ -294,9 +279,9 @@ else:
CFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS
CPPFLAGS = ['-fpascal-strings']+ARCH_FLAGS
CCFLAGS = ['-pipe','-funsigned-char','-fpascal-strings']+ARCH_FLAGS
CXXFLAGS = ['-pipe','-funsigned-char', '-fpascal-strings']+ARCH_FLAGS
CPPFLAGS = []+ARCH_FLAGS
CCFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS
CXXFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS
if WITH_GHOST_COCOA==True:
PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Cocoa','-framework','Carbon','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS
@@ -321,13 +306,14 @@ if MAC_MIN_VERS == '10.3':
if USE_SDK==True:
SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS,'-arch',MACOSX_ARCHITECTURE]
PLATFORM_LINKFLAGS = ['-mmacosx-version-min='+MAC_MIN_VERS,'-Wl','-syslibroot '+MACOSX_SDK,'-arch',MACOSX_ARCHITECTURE]+PLATFORM_LINKFLAGS
PLATFORM_LINKFLAGS = ['-mmacosx-version-min='+MAC_MIN_VERS,'-Wl','-isysroot',MACOSX_SDK,'-arch',MACOSX_ARCHITECTURE]+PLATFORM_LINKFLAGS
CCFLAGS=SDK_FLAGS+CCFLAGS
CXXFLAGS=SDK_FLAGS+CXXFLAGS
#Intel Macs are CoreDuo and Up
if MACOSX_ARCHITECTURE == 'i386' or MACOSX_ARCHITECTURE == 'x86_64':
REL_CFLAGS = ['-O2','-ftree-vectorize','-msse','-msse2','-msse3']
REL_CCFLAGS = ['-O2','-ftree-vectorize','-msse','-msse2','-msse3']
REL_CFLAGS = ['-O2','-ftree-vectorize','-msse','-msse2','-msse3','-mfpmath=sse']
REL_CCFLAGS = ['-O2','-ftree-vectorize','-msse','-msse2','-msse3','-mfpmath=sse']
else:
CFLAGS = CFLAGS+['-fno-strict-aliasing']
CCFLAGS = CCFLAGS+['-fno-strict-aliasing']
@@ -335,20 +321,14 @@ else:
REL_CFLAGS = ['-O2']
REL_CCFLAGS = ['-O2']
# add -mssse3 for intel 64bit archs
# Intel 64bit Macs are Core2Duo and up
if MACOSX_ARCHITECTURE == 'x86_64':
REL_CFLAGS = REL_CFLAGS+['-mssse3']
REL_CCFLAGS = REL_CCFLAGS+['-mssse3']
##BF_DEPEND = True
##
##AR = ar
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
#C_WARN = ['-Wdeclaration-after-statement']
REL_CFLAGS = REL_CFLAGS+['-march=core2','-mssse3','-with-tune=core2','-enable-threads']
REL_CCFLAGS = REL_CCFLAGS+['-march=core2','-mssse3','-with-tune=core2','-enable-threads']
CC_WARN = ['-Wall']
C_WARN = ['-Wno-char-subscripts', '-Wpointer-arith', '-Wcast-align', '-Wdeclaration-after-statement', '-Wno-unknown-pragmas']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
##FIX_STUBS_WARNINGS = -Wno-unused
@@ -360,7 +340,7 @@ BF_PROFILE_LINKFLAGS = ['-pg']
BF_PROFILE = False
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g']
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
#############################################################################
################### Output directories ##################

View File

@@ -0,0 +1,213 @@
CC = 'gcc44'
CXX = 'g++44'
LCGDIR = '../lib/freebsd7'
LIBDIR = "${LCGDIR}"
BF_PYTHON = '/usr/local'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
BF_PYTHON_VERSION = '3.1'
WITH_BF_STATICPYTHON = False
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION}.a'
WITH_BF_OPENAL = True
WITH_BF_STATICOPENAL = False
BF_OPENAL = '/usr/local'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal'
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
BF_CXX = '/usr/local'
WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr/local'
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
WITH_BF_JACK = True
BF_JACK = '/usr/local'
BF_JACK_INC = '${BF_JACK}/include/jack'
BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = True
BF_SNDFILE = '/usr/local'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
WITH_BF_SDL = True
BF_SDL = '/usr/local' #$(shell sdl-config --prefix)
BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
WITH_BF_OPENEXR = True
WITH_BF_STATICOPENEXR = False
BF_OPENEXR = '/usr/local'
# when compiling with your own openexr lib you might need to set...
# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
WITH_BF_DDS = True
WITH_BF_JPEG = True
BF_JPEG = '/usr/local'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
WITH_BF_PNG = True
BF_PNG = '/usr/local'
BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
WITH_BF_TIFF = True
BF_TIFF = '/usr/local'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
WITH_BF_ZLIB = True
BF_ZLIB = '/usr'
BF_ZLIB_INC = '${BF_ZLIB}/include'
BF_ZLIB_LIB = 'z'
WITH_BF_INTERNATIONAL = True
BF_GETTEXT = '/usr/local'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextlib'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = False
WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
# enable freetype2 support for text objects
BF_FREETYPE = '/usr/local'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
### XXX Find what this actually wants; it doesn't want libquicktime.
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = True
BF_ICONV = LIBDIR + "/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_BINRELOC = True
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = '/usr/local'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = True # -DWITH_OGG
BF_OGG = '/usr/local'
BF_OGG_INC = '${BF_OGG}/include'
BF_OGG_LIB = 'ogg vorbis vorbisenc theoraenc theoradec'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = True
BF_FFTW3 = LIBDIR + '/usr/local'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = True
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
BF_REDCODE_INC = '${BF_REDCODE}/../' #C files request "libredcode/format.h" which is in "#extern/libredcode/format.h", stupid but compiles for now.
BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = '/usr/local'
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIB = 'GL GLU X11 Xi'
BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'
WITH_BF_COLLADA = False
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = '/usr'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
BF_PCRE = '/usr/local'
BF_PCRE_LIB = 'pcre'
BF_PCRE_LIBPATH = '${BF_PCRE}/lib'
BF_EXPAT = '/usr/local'
BF_EXPAT_LIB = 'expat'
BF_EXPAT_LIBPATH = '${BF_EXPAT}/lib'
WITH_BF_OPENMP = True
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
CPPFLAGS = []
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
REL_CFLAGS = ['-O2']
REL_CCFLAGS = ['-O2']
##BF_DEPEND = True
##
##AR = ar
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
##FIX_STUBS_WARNINGS = -Wno-unused
LLIBS = ['util', 'c', 'm', 'pthread', 'stdc++']
##LOPTS = --dynamic
##DYNLDFLAGS = -shared $(LDFLAGS)
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd7'
BF_INSTALLDIR='../install/freebsd7'
#Link against pthread
PLATFORM_LINKFLAGS = ['-pthread']

View File

@@ -0,0 +1,213 @@
CC = 'gcc44'
CXX = 'g++44'
LCGDIR = '../lib/freebsd8'
LIBDIR = "${LCGDIR}"
BF_PYTHON = '/usr/local'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
BF_PYTHON_VERSION = '3.1'
WITH_BF_STATICPYTHON = False
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION}.a'
WITH_BF_OPENAL = True
WITH_BF_STATICOPENAL = False
BF_OPENAL = '/usr/local'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal'
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
BF_CXX = '/usr/local'
WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr/local'
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
WITH_BF_JACK = True
BF_JACK = '/usr/local'
BF_JACK_INC = '${BF_JACK}/include/jack'
BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = True
BF_SNDFILE = '/usr/local'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
WITH_BF_SDL = True
BF_SDL = '/usr/local' #$(shell sdl-config --prefix)
BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
WITH_BF_OPENEXR = True
WITH_BF_STATICOPENEXR = False
BF_OPENEXR = '/usr/local'
# when compiling with your own openexr lib you might need to set...
# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
WITH_BF_DDS = True
WITH_BF_JPEG = True
BF_JPEG = '/usr/local'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
WITH_BF_PNG = True
BF_PNG = '/usr/local'
BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
WITH_BF_TIFF = True
BF_TIFF = '/usr/local'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
WITH_BF_ZLIB = True
BF_ZLIB = '/usr'
BF_ZLIB_INC = '${BF_ZLIB}/include'
BF_ZLIB_LIB = 'z'
WITH_BF_INTERNATIONAL = True
BF_GETTEXT = '/usr/local'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextlib'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = False
WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
# enable freetype2 support for text objects
BF_FREETYPE = '/usr/local'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
### XXX Find what this actually wants; it doesn't want libquicktime.
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = True
BF_ICONV = LIBDIR + "/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_BINRELOC = True
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = '/usr/local'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = True # -DWITH_OGG
BF_OGG = '/usr/local'
BF_OGG_INC = '${BF_OGG}/include'
BF_OGG_LIB = 'ogg vorbis vorbisenc theoraenc theoradec'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = True
BF_FFTW3 = LIBDIR + '/usr/local'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = True
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
BF_REDCODE_INC = '${BF_REDCODE}/../' #C files request "libredcode/format.h" which is in "#extern/libredcode/format.h", stupid but compiles for now.
BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = '/usr/local'
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIB = 'GL GLU X11 Xi'
BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'
WITH_BF_COLLADA = False
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = '/usr'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
BF_PCRE = '/usr/local'
BF_PCRE_LIB = 'pcre'
BF_PCRE_LIBPATH = '${BF_PCRE}/lib'
BF_EXPAT = '/usr/local'
BF_EXPAT_LIB = 'expat'
BF_EXPAT_LIBPATH = '${BF_EXPAT}/lib'
WITH_BF_OPENMP = True
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
CPPFLAGS = []
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
REL_CFLAGS = ['-O2']
REL_CCFLAGS = ['-O2']
##BF_DEPEND = True
##
##AR = ar
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
##FIX_STUBS_WARNINGS = -Wno-unused
LLIBS = ['util', 'c', 'm', 'pthread', 'stdc++']
##LOPTS = --dynamic
##DYNLDFLAGS = -shared $(LDFLAGS)
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd8'
BF_INSTALLDIR='../install/freebsd8'
#Link against pthread
PLATFORM_LINKFLAGS = ['-pthread']

View File

@@ -0,0 +1,213 @@
CC = 'gcc44'
CXX = 'g++44'
LCGDIR = '../lib/freebsd9'
LIBDIR = "${LCGDIR}"
BF_PYTHON = '/usr/local'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
BF_PYTHON_VERSION = '3.1'
WITH_BF_STATICPYTHON = False
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION}.a'
WITH_BF_OPENAL = True
WITH_BF_STATICOPENAL = False
BF_OPENAL = '/usr/local'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal'
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
BF_CXX = '/usr/local'
WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr/local'
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
WITH_BF_JACK = True
BF_JACK = '/usr/local'
BF_JACK_INC = '${BF_JACK}/include/jack'
BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = True
BF_SNDFILE = '/usr/local'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
WITH_BF_SDL = True
BF_SDL = '/usr/local' #$(shell sdl-config --prefix)
BF_SDL_INC = '${BF_SDL}/include/SDL' #$(shell $(BF_SDL)/bin/sdl-config --cflags)
BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer
WITH_BF_OPENEXR = True
WITH_BF_STATICOPENEXR = False
BF_OPENEXR = '/usr/local'
# when compiling with your own openexr lib you might need to set...
# BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR ${BF_OPENEXR}/include'
BF_OPENEXR_INC = '${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = 'Half IlmImf Iex Imath '
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
# BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
WITH_BF_DDS = True
WITH_BF_JPEG = True
BF_JPEG = '/usr/local'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
WITH_BF_PNG = True
BF_PNG = '/usr/local'
BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
WITH_BF_TIFF = True
BF_TIFF = '/usr/local'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
WITH_BF_ZLIB = True
BF_ZLIB = '/usr'
BF_ZLIB_INC = '${BF_ZLIB}/include'
BF_ZLIB_LIB = 'z'
WITH_BF_INTERNATIONAL = True
BF_GETTEXT = '/usr/local'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextlib'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = False
WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
# enable freetype2 support for text objects
BF_FREETYPE = '/usr/local'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
### XXX Find what this actually wants; it doesn't want libquicktime.
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = True
BF_ICONV = LIBDIR + "/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_BINRELOC = True
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = '/usr/local'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = True # -DWITH_OGG
BF_OGG = '/usr/local'
BF_OGG_INC = '${BF_OGG}/include'
BF_OGG_LIB = 'ogg vorbis vorbisenc theoraenc theoradec'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = True
BF_FFTW3 = LIBDIR + '/usr/local'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = True
BF_REDCODE = '#extern/libredcode'
BF_REDCODE_LIB = ''
# BF_REDCODE_INC = '${BF_REDCODE}/include'
BF_REDCODE_INC = '${BF_REDCODE}/../' #C files request "libredcode/format.h" which is in "#extern/libredcode/format.h", stupid but compiles for now.
BF_REDCODE_LIBPATH='${BF_REDCODE}/lib'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = '/usr/local'
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIB = 'GL GLU X11 Xi'
BF_OPENGL_LIBPATH = '/usr/X11R6/lib'
BF_OPENGL_LIB_STATIC = '${BF_OPENGL_LIBPATH}/libGL.a ${BF_OPENGL_LIBPATH}/libGLU.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a ${BF_OPENGL_LIBPATH}/libX11.a ${BF_OPENGL_LIBPATH}/libXi.a ${BF_OPENGL_LIBPATH}/libXext.a ${BF_OPENGL_LIBPATH}/libXxf86vm.a'
WITH_BF_COLLADA = False
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = '/usr'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
BF_PCRE = '/usr/local'
BF_PCRE_LIB = 'pcre'
BF_PCRE_LIBPATH = '${BF_PCRE}/lib'
BF_EXPAT = '/usr/local'
BF_EXPAT_LIB = 'expat'
BF_EXPAT_LIBPATH = '${BF_EXPAT}/lib'
WITH_BF_OPENMP = True
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
CPPFLAGS = []
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
REL_CFLAGS = ['-O2']
REL_CCFLAGS = ['-O2']
##BF_DEPEND = True
##
##AR = ar
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
##FIX_STUBS_WARNINGS = -Wno-unused
LLIBS = ['util', 'c', 'm', 'pthread', 'stdc++']
##LOPTS = --dynamic
##DYNLDFLAGS = -shared $(LDFLAGS)
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/freebsd9'
BF_INSTALLDIR='../install/freebsd9'
#Link against pthread
PLATFORM_LINKFLAGS = ['-pthread']

View File

@@ -4,13 +4,13 @@ LCGDIR = os.getcwd()+"/../lib/irix-6.5-mips"
LIBDIR = LCGDIR
BF_PYTHON = LCGDIR+'/python'
BF_PYTHON_VERSION = '2.5'
BF_PYTHON_VERSION = '3.1'
WITH_BF_STATICPYTHON = 'true'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}' #BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
BF_PYTHON_LINKFLAGS = ['-Xlinker', '-export-dynamic']
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/python2.5/config/libpython${BF_PYTHON_VERSION}.a'
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}/config/libpython${BF_PYTHON_VERSION}.a'
WITH_BF_OPENAL = 'true'
WITH_BF_STATICOPENAL = 'true'

View File

@@ -23,9 +23,11 @@ WITH_BF_STATICCXX = False
BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
BF_LIBSAMPLERATE = '/usr'
WITH_BF_STATICLIBSAMPLERATE = False
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
BF_LIBSAMPLERATE_LIB = 'samplerate'
BF_LIBSAMPLERATE_LIBPATH = '${BF_LIBSAMPLERATE}/lib'
BF_LIBSAMPLERATE_LIB_STATIC = '${BF_LIBSAMPLERATE}/lib/libsamplerate.a'
WITH_BF_JACK = False
BF_JACK = '/usr'
@@ -34,10 +36,12 @@ BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = False
WITH_BF_STATICSNDFILE = False
BF_SNDFILE = '/usr'
BF_SNDFILE_INC = '${BF_SNDFILE}/include/sndfile'
BF_SNDFILE_LIB = 'sndfile'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
BF_SNDFILE_LIB_STATIC = '${BF_SNDFILE}/lib/libsndfile.a ${BF_OGG}/lib/libvorbis.a ${BF_OGG}/lib/libFLAC.a ${BF_OGG}/lib/libvorbisenc.a ${BF_OGG}/lib/libogg.a'
WITH_BF_SDL = True
BF_SDL = '/usr' #$(shell sdl-config --prefix)
@@ -68,8 +72,10 @@ BF_PNG = '/usr'
BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
WITH_BF_TIFF = True
BF_TIFF = '/usr'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
WITH_BF_ZLIB = True
BF_ZLIB = '/usr'
@@ -82,6 +88,8 @@ BF_GETTEXT = '/usr'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextlib'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
#WITH_BF_GETTEXT_STATIC = True
#BF_GETTEXT_LIB_STATIC = '${BF_GETTEXT}/lib/libgettextlib.a'
WITH_BF_GAMEENGINE = True
WITH_BF_PLAYER = False
@@ -95,6 +103,8 @@ BF_BULLET_LIB = 'extern_bullet'
BF_FREETYPE = '/usr'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
#WITH_BF_FREETYPE_STATIC = True
#BF_FREETYPE_LIB_STATIC = '${BF_FREETYPE}/lib/libfreetype.a'
WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = '/usr/local'
@@ -110,13 +120,12 @@ WITH_BF_BINRELOC = True
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = '#extern/ffmpeg'
BF_FFMPEG_LIB = ''
# Uncomment the following two lines to use system's ffmpeg
# BF_FFMPEG = '/usr'
# BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}'
BF_FFMPEG = '/usr'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
#WITH_BF_STATICFFMPEG = True
#BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH/libavcodec.a ${BF_FFMPEG_LIBPATH}/libswscale.a ${BF_FFMPEG_LIBPATH}/libavutil.a ${BF_FFMPEG_LIBPATH}/libavdevice.a'
# enable ogg, vorbis and theora in ffmpeg
WITH_BF_OGG = False # -DWITH_OGG
@@ -131,10 +140,12 @@ BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = False
BF_FFTW3 = LIBDIR + '/usr'
WITH_BF_STATICFFTW3 = False
BF_FFTW3 = '/usr'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
BF_FFTW3_LIB_STATIC = '${BF_FFTW3_LIBPATH}/libfftw3.a'
WITH_BF_REDCODE = False
BF_REDCODE = '#extern/libredcode'
@@ -156,7 +167,8 @@ BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = '/usr'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre Buffer ftoa'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
BF_PCRE = ''
BF_PCRE_LIB = 'pcre'
@@ -168,7 +180,7 @@ BF_EXPAT_LIBPATH = '/usr/lib'
WITH_BF_OPENMP = True
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = False
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
##
@@ -177,10 +189,13 @@ CXX = 'g++'
##ifeq ($CPU),alpha)
## CFLAGS += -pipe -fPIC -funsigned-char -fno-strict-aliasing -mieee
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
CCFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
CPPFLAGS = []
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing']
CXXFLAGS = ['-pipe','-fPIC','-funsigned-char','-fno-strict-aliasing','-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
if WITH_BF_FFMPEG:
# libavutil needs UINT64_C()
CXXFLAGS += ['-D__STDC_CONSTANT_MACROS', ]
REL_CFLAGS = ['-O2']
REL_CCFLAGS = ['-O2']
##BF_DEPEND = True
@@ -189,7 +204,7 @@ REL_CCFLAGS = ['-O2']
##ARFLAGS = ruv
##ARFLAGSQUIET = ru
##
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement']
C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wunused-parameter', '-Werror=declaration-after-statement', '-Werror=implicit-function-declaration', '-Werror=return-type']
CC_WARN = ['-Wall']
CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare']
@@ -205,7 +220,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g']
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR = '../build/linux2'
BF_INSTALLDIR='../install/linux2'

View File

@@ -2,17 +2,18 @@ LCGDIR = '#../lib/windows'
LIBDIR = '${LCGDIR}'
BF_PYTHON = LIBDIR + '/python'
BF_PYTHON_VERSION = '2.5'
BF_PYTHON_VERSION = '3.1'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = 'python'
BF_PYTHON_LIB = 'python25'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION[0]}${BF_PYTHON_VERSION[2]}mw'
BF_PYTHON_DLL = 'python31'
BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib'
WITH_BF_OPENAL = True
WITH_BF_STATICOPENAL = False
BF_OPENAL = LIBDIR + '/openal'
BF_OPENAL_INC = '${BF_OPENAL}/include'
BF_OPENAL_LIB = 'openal_static'
BF_OPENAL_LIB = 'OpenAL32 wrap_oal'
BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
# Warning, this static lib configuration is untested! users of this OS please confirm.
BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a'
@@ -33,6 +34,18 @@ BF_SDL_INC = '${BF_SDL}/include'
BF_SDL_LIB = 'SDL'
BF_SDL_LIBPATH = '${BF_SDL}/lib'
WITH_BF_JACK = False
BF_JACK = LIBDIR + '/jack'
BF_JACK_INC = '${BF_JACK}/include'
BF_JACK_LIB = 'jack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
WITH_BF_SNDFILE = False
BF_SNDFILE = LIBDIR + '/sndfile'
BF_SNDFILE_INC = '${BF_SNDFILE}/include'
BF_SNDFILE_LIB = 'sndfile-1'
BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib'
BF_PTHREADS = LIBDIR + '/pthreads'
BF_PTHREADS_INC = '${BF_PTHREADS}/include'
BF_PTHREADS_LIB = 'pthreadGC2'
@@ -42,7 +55,7 @@ WITH_BF_OPENEXR = True
WITH_BF_STATICOPENEXR = False
BF_OPENEXR = LIBDIR + '/gcc/openexr'
BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = ' Half IlmImf Iex '
BF_OPENEXR_LIB = ' Half IlmImf Iex IlmThread '
BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
# Warning, this static lib configuration is untested! users of this OS please confirm.
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
@@ -52,7 +65,7 @@ WITH_BF_DDS = True
WITH_BF_JPEG = True
BF_JPEG = LIBDIR + '/jpeg'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
BF_JPEG_LIB = 'libjpeg'
BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
WITH_BF_PNG = True
@@ -61,23 +74,26 @@ BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
BF_PNG_LIBPATH = '${BF_PNG}/lib'
BF_TIFF = LIBDIR + '/tiff'
WITH_BF_TIFF = True
BF_TIFF = LIBDIR + '/gcc/tiff'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'tiff'
BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
WITH_BF_ZLIB = True
BF_ZLIB = LIBDIR + '/zlib'
BF_ZLIB_INC = '${BF_ZLIB}/include'
#BF_ZLIB_LIB = 'z'
BF_ZLIB_LIB = 'libz'
BF_ZLIB_LIBPATH = '${BF_ZLIB}/lib'
WITH_BF_INTERNATIONAL = True
BF_GETTEXT = LIBDIR + '/gettext'
BF_GETTEXT = LIBDIR + '/gcc/gettext'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gnu_gettext'
BF_GETTEXT_LIB = 'intl'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = False
WITH_BF_GAMEENGINE = True
WITH_BF_PLAYER = False
WITH_BF_BULLET = True
@@ -89,6 +105,7 @@ BF_WINTAB = LIBDIR + '/wintab'
BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
# enable freetype2 support for text objects
BF_WITH_FREETYPE = True
BF_FREETYPE = LIBDIR + '/gcc/freetype'
BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype'
@@ -99,39 +116,76 @@ BF_QUICKTIME = '/usr/local'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/include'
WITH_BF_ICONV = False
BF_ICONV = LIBDIR + "/iconv"
BF_ICONV = LIBDIR + "/gcc/iconv"
BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_BINRELOC = False
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = LIBDIR + '/ffmpeg'
BF_FFMPEG_LIB = 'avformat-52 avcodec-52 avdevice-52 avutil-50 swscale-0'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH = '${BF_FFMPEG}/lib'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = False
BF_FFTW3 = LIBDIR + '/gcc/fftw3'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = False
BF_REDCODE_INC = '#extern'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = 'C:\\MingW'
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
BF_OPENGL_LIB = 'opengl32 glu32'
BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a',
'${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
'${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a']
CC = 'i586-mingw32msvc-gcc'
CXX = 'i586-mingw32msvc-g++'
WITH_BF_OPENMP = False
BF_OPENMP = LIBDIR + '/gcc/gomp'
BF_OPENMP_INC = '${BF_OPENMP}/include'
BF_OPENMP_LIBPATH = '${BF_OPENMP}/lib'
WITH_BF_COLLADA = False
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = LIBDIR + '/gcc/opencollada'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib ${BF_ICONV_LIBPATH}'
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
CCFLAGS = [ '-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
CPPFLAGS = ['-DWIN32', '-DFREE_WINDOWS']
CXXFLAGS = ['-pipe', '-mwindows', '-funsigned-char', '-fno-strict-aliasing' ]
CXXFLAGS = ['-pipe', '-funsigned-char', '-fno-strict-aliasing' ]
REL_CFLAGS = [ '-O2' ]
REL_CCFLAGS = [ '-O2' ]
C_WARN = [ '-Wall' , '-Wno-char-subscripts', '-Wdeclaration-after-statement' ]
CC_WARN = [ '-Wall' ]
LLIBS = [ '-ldxguid', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz'] #'-lutil', '-lc', '-lm', '-ldl', '-lpthread' ]
LLIBS = [ '-ldxguid', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++', '-luuid', '-lole32'] #'-lutil', '-lc', '-lm', '-ldl', '-lpthread' ]
BF_DEBUG = False
BF_DEBUG_CCFLAGS= []
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_PROFILE = False
BF_PROFILE_CCFLAGS = ['-pg','-g']

View File

@@ -2,7 +2,7 @@ LCGDIR = '../lib/openbsd3'
LIBDIR = '${LCGDIR}'
BF_PYTHON = '/usr/local'
BF_PYTHON_VERSION = '2.5'
BF_PYTHON_VERSION = '3.1'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
@@ -147,7 +147,7 @@ BF_PROFILE_CCFLAGS = ['-pg','-g']
BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g']
BF_DEBUG_CCFLAGS = ['-g', '-DDEBUG']
BF_BUILDDIR='../build/openbsd3'
BF_INSTALLDIR='../install/openbsd3'

View File

@@ -2,7 +2,7 @@ LCGDIR = '../lib/sunos5'
LIBDIR = '${LCGDIR}'
BF_PYTHON = '/usr/local'
BF_PYTHON_VERSION = '2.5'
BF_PYTHON_VERSION = '3.1'
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}' #BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
@@ -161,7 +161,7 @@ BF_PROFILE_LINKFLAGS = ['-pg']
BF_PROFILE = False
BF_DEBUG = False
BF_DEBUG_CCFLAGS = []
BF_DEBUG_CCFLAGS = ['-DDEBUG']
BF_BUILDDIR = '../build/sunos5'
BF_INSTALLDIR='../install/sunos5'

View File

@@ -54,7 +54,7 @@ WITH_BF_OPENEXR = True
WITH_BF_STATICOPENEXR = False
BF_OPENEXR = LIBDIR + '/gcc/openexr'
BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR'
BF_OPENEXR_LIB = ' Half IlmImf Iex '
BF_OPENEXR_LIB = ' Half IlmImf Iex IlmThread '
BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib'
# Warning, this static lib configuration is untested! users of this OS please confirm.
BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a'
@@ -64,7 +64,7 @@ WITH_BF_DDS = True
WITH_BF_JPEG = True
BF_JPEG = LIBDIR + '/jpeg'
BF_JPEG_INC = '${BF_JPEG}/include'
BF_JPEG_LIB = 'jpeg'
BF_JPEG_LIB = 'liblibjpeg'
BF_JPEG_LIBPATH = '${BF_JPEG}/lib'
WITH_BF_PNG = True
@@ -73,23 +73,37 @@ BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'png'
BF_PNG_LIBPATH = '${BF_PNG}/lib'
BF_TIFF = LIBDIR + '/tiff'
WITH_BF_TIFF = True
BF_TIFF = LIBDIR + '/gcc/tiff'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'libtiff'
BF_TIFF_LIB = 'tiff'
BF_TIFF_LIBPATH = '${BF_TIFF}/lib'
WITH_BF_ZLIB = True
BF_ZLIB = LIBDIR + '/zlib'
BF_ZLIB_INC = '${BF_ZLIB}/include'
BF_ZLIB_LIB = 'libz'
BF_ZLIB_LIBPATH = '${BF_ZLIB}/lib'
WITH_BF_INTERNATIONAL = True
BF_GETTEXT = LIBDIR + '/gettext'
BF_GETTEXT = LIBDIR + '/gcc/gettext'
BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gnu_gettext'
BF_GETTEXT_LIB = 'intl'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = False
BF_FFTW3 = LIBDIR + '/gcc/fftw3'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'fftw3'
BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_GAMEENGINE = False
WITH_BF_PLAYER = False
@@ -117,6 +131,9 @@ BF_ICONV_INC = '${BF_ICONV}/include'
BF_ICONV_LIB = 'iconv'
BF_ICONV_LIBPATH = '${BF_ICONV}/lib'
WITH_BF_REDCODE = False
BF_REDCODE_INC = '#extern'
# Mesa Libs should go here if your using them as well....
WITH_BF_STATICOPENGL = False
BF_OPENGL = 'C:\\MingW'
@@ -132,9 +149,9 @@ BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = LIBDIR + '/opencollada'
BF_OPENCOLLADA = LIBDIR + '/gcc/opencollada'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver xml2 pcre'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
#Ray trace optimization
@@ -159,7 +176,7 @@ CC_WARN = [ '-Wall' ]
LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid']
BF_DEBUG = False
BF_DEBUG_CCFLAGS= ['-g']
BF_DEBUG_CCFLAGS= ['-g', '-DDEBUG']
BF_PROFILE_CCFLAGS = ['-pg', '-g']
BF_PROFILE_LINKFLAGS = ['-pg']

View File

@@ -79,6 +79,7 @@ BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'libpng_st'
BF_PNG_LIBPATH = '${BF_PNG}/lib'
WITH_BF_TIFF = True
BF_TIFF = LIBDIR + '/tiff'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'libtiff'
@@ -129,7 +130,7 @@ BF_OPENJPEG_LIB = ''
BF_OPENJPEG_INC = '${BF_OPENJPEG}'
BF_OPENJPEG_LIBPATH='${BF_OPENJPEG}/lib'
WITH_BF_FFTW3 = False
WITH_BF_FFTW3 = True
BF_FFTW3 = LIBDIR + '/fftw3'
BF_FFTW3_INC = '${BF_FFTW3}/include'
BF_FFTW3_LIB = 'libfftw'
@@ -138,18 +139,24 @@ BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = False
BF_REDCODE_INC = '#extern'
WITH_BF_COLLADA = False
WITH_BF_COLLADA = True
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = LIBDIR + '/opencollada'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver xml2 pcre'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
WITH_BF_LCMS = True
BF_LCMS = LIBDIR + '/lcms'
BF_LCMS_INC = '${BF_LCMS}/include'
BF_LCMS_LIB = 'lcms'
BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = False
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE']
WITH_BF_STATICOPENGL = False
@@ -187,5 +194,7 @@ PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/INCREMENTAL:NO','/N
# BF_PROFILE_LINKFLAGS = ['-pg']
# BF_PROFILE = False
BF_BSC=False
BF_BUILDDIR = '..\\build\\win32-vc'
BF_INSTALLDIR='..\\install\\win32-vc'

View File

@@ -2,11 +2,11 @@ LCGDIR = '#../lib/win64'
LIBDIR = '${LCGDIR}'
# enable ffmpeg support
WITH_BF_FFMPEG = False # -DWITH_FFMPEG
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = LIBDIR +'/ffmpeg'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_INC = '${BF_FFMPEG}/include ${BF_FFMPEG}/include/msvc '
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
BF_FFMPEG_LIB = 'avformat-52.lib avcodec-51.lib avdevice-52.lib avutil-49.lib swscale-0.lib'
BF_FFMPEG_LIB = 'avformat-52.lib avcodec-52.lib avdevice-52.lib avutil-50.lib swscale-0.lib'
BF_PYTHON = LIBDIR + '/python'
BF_PYTHON_VERSION = '3.1'
@@ -75,6 +75,7 @@ BF_PNG_INC = '${BF_PNG}/include'
BF_PNG_LIB = 'libpng'
BF_PNG_LIBPATH = '${BF_PNG}/lib'
WITH_BF_TIFF = True
BF_TIFF = LIBDIR + '/tiff'
BF_TIFF_INC = '${BF_TIFF}/include'
BF_TIFF_LIB = 'libtiff'
@@ -106,23 +107,6 @@ BF_WINTAB_INC = '${BF_WINTAB}/INCLUDE'
WITH_BF_BINRELOC = False
#WITH_BF_NSPR = True
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
#BF_NSPR_LIB =
# Uncomment the following line to use Mozilla inplace of netscape
#CPPFLAGS += -DMOZ_NOT_NET
# Location of MOZILLA/Netscape header files...
#BF_MOZILLA = $(LIBDIR)/mozilla
#BF_MOZILLA_INC = -I$(BF_MOZILLA)/include/mozilla/nspr -I$(BF_MOZILLA)/include/mozilla -I$(BF_MOZILLA)/include/mozilla/xpcom -I$(BF_MOZILLA)/include/mozilla/idl
#BF_MOZILLA_LIB =
# Will fall back to look in BF_MOZILLA_INC/nspr and BF_MOZILLA_LIB
# if this is not set.
#
# Be paranoid regarding library creation (do not update archives)
#BF_PARANOID = True
# enable freetype2 support for text objects
BF_WITH_FREETYPE = True
BF_FREETYPE = LIBDIR + '/freetype'
@@ -151,18 +135,24 @@ BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib'
WITH_BF_REDCODE = False
BF_REDCODE_INC = '#extern'
WITH_BF_COLLADA = False
WITH_BF_COLLADA = True
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
BF_OPENCOLLADA = LIBDIR + '/opencollada'
BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver xml2 pcre'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
WITH_BF_LCMS = True
BF_LCMS = LIBDIR + '/lcms'
BF_LCMS_INC = '${BF_LCMS}/include'
BF_LCMS_LIB = 'lcms'
BF_LCMS_LIBPATH = '${BF_LCMS}/lib'
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = False
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE','/arch:SSE2']
WITH_BF_STATICOPENGL = False
@@ -182,7 +172,7 @@ BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast']
BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
REL_CFLAGS = ['-O2', '-DNDEBUG']
REL_CCFLAGS = ['-O2', '-DNDEBUG']
REL_CXXFLAGS = ['-O2', '-DNDEBUG']
@@ -193,11 +183,6 @@ CXX_WARN = []
LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid']
WITH_BF_DOCS=False
BF_DEBUG=False
BF_BSC=False
if BF_DEBUG:
BF_NUMJOBS=1
else:
@@ -208,10 +193,3 @@ PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/INCREMENTAL:NO','/NO
BF_BUILDDIR = '..\\build\\blender25-win64-vc'
BF_INSTALLDIR='..\\install\\blender25-win64-vc'
######################### MERGE WITH ABOVE ################################

View File

@@ -0,0 +1,823 @@
#!/usr/bin/env python
"""
tools.BlenderEnvironment
This environment builds on SCons.Script.SConscript.SConsEnvironment
* library repository
* custom printout
* wrapper functions
TODO: clean up and sanitise code - crosscheck with btools and SConstruct
to kill any code duplication
"""
import os
import os.path
import string
import glob
import time
import sys
import zipfile
import shutil
import cStringIO
import platform
from SCons.Script.SConscript import SConsEnvironment
import SCons.Action
import SCons.Util
import SCons.Builder
import SCons.Tool
import bcolors
bc = bcolors.bcolors()
import btools
VERSION = btools.VERSION
Split = SCons.Util.Split
Action = SCons.Action.Action
Builder = SCons.Builder.Builder
GetBuildPath = SConsEnvironment.GetBuildPath
# a few globals
root_build_dir = ''
doc_build_dir = ''
quickie = None # Anything else than None if BF_QUICK has been passed
quicklist = [] # The list of libraries/programs to compile during a quickie
program_list = [] # A list holding Nodes to final binaries, used to create installs
arguments = None
targets = None
resources = []
#some internals
blenderdeps = [] # don't manipulate this one outside this module!
##### LIB STUFF ##########
possible_types = ['core'] # can be set in ie. SConstruct
libs = {}
vcp = []
def getresources():
return resources
def init_lib_dict():
for pt in possible_types:
libs[pt] = {}
# helper func for add_lib_to_dict
def internal_lib_to_dict(dict = None, libtype = None, libname = None, priority = 100):
if not libname in dict[libtype]:
done = None
while not done:
if dict[libtype].has_key(priority):
priority = priority + 1
else:
done = True
dict[libtype][priority] = libname
# libtype and priority can both be lists, for defining lib in multiple places
def add_lib_to_dict(env, dict = None, libtype = None, libname = None, priority = 100):
if not dict or not libtype or not libname:
print "Passed wrong arg"
env.Exit()
if type(libtype) is str and type(priority) is int:
internal_lib_to_dict(dict, libtype, libname, priority)
elif type(libtype) is list and type(priority) is list:
if len(libtype)==len(priority):
for lt, p in zip(libtype, priority):
internal_lib_to_dict(dict, lt, libname, p)
else:
print "libtype and priority lists are unequal in length"
env.Exit()
else:
print "Wrong type combinations for libtype and priority. Only str and int or list and list"
env.Exit()
def create_blender_liblist(lenv = None, libtype = None):
if not lenv or not libtype:
print "missing arg"
lst = []
if libtype in possible_types:
curlib = libs[libtype]
sortlist = curlib.keys()
sortlist.sort()
for sk in sortlist:
v = curlib[sk]
if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
target = os.path.abspath(os.getcwd() + os.sep + root_build_dir + 'lib' + os.sep +lenv['LIBPREFIX'] + v + lenv['LIBSUFFIX'])
else:
target = os.path.abspath(root_build_dir + 'lib' + os.sep +lenv['LIBPREFIX'] + v + lenv['LIBSUFFIX'])
lst.append(target)
return lst
## TODO: static linking
def setup_staticlibs(lenv):
statlibs = [
#here libs for static linking
]
libincs = []
if lenv['WITH_BF_FFMPEG']:
libincs += Split(lenv['BF_FFMPEG_LIBPATH'])
libincs.extend([
lenv['BF_OPENGL_LIBPATH'],
lenv['BF_JPEG_LIBPATH'],
lenv['BF_ZLIB_LIBPATH'],
lenv['BF_PNG_LIBPATH'],
lenv['BF_LIBSAMPLERATE_LIBPATH'],
lenv['BF_ICONV_LIBPATH']
])
libincs += Split(lenv['BF_FREETYPE_LIBPATH'])
if lenv['WITH_BF_PYTHON']:
libincs += Split(lenv['BF_PYTHON_LIBPATH'])
if lenv['WITH_BF_SDL']:
libincs += Split(lenv['BF_SDL_LIBPATH'])
if lenv['WITH_BF_JACK']:
libincs += Split(lenv['BF_JACK_LIBPATH'])
if lenv['WITH_BF_SNDFILE']:
libincs += Split(lenv['BF_SNDFILE_LIBPATH'])
if lenv['WITH_BF_OPENEXR']:
libincs += Split(lenv['BF_OPENEXR_LIBPATH'])
if lenv['WITH_BF_STATICOPENEXR']:
statlibs += Split(lenv['BF_OPENEXR_LIB_STATIC'])
if lenv['WITH_BF_LCMS']:
libincs += Split(lenv['BF_LCMS_LIBPATH'])
if lenv['WITH_BF_TIFF']:
libincs += Split(lenv['BF_TIFF_LIBPATH'])
if lenv['WITH_BF_STATICTIFF']:
statlibs += Split(lenv['BF_TIFF_LIB_STATIC'])
if lenv['WITH_BF_ZLIB'] and lenv['WITH_BF_STATICZLIB']:
statlibs += Split(lenv['BF_ZLIB_LIB_STATIC'])
if lenv['WITH_BF_FFTW3']:
libincs += Split(lenv['BF_FFTW3_LIBPATH'])
if lenv['WITH_BF_STATICFFTW3']:
statlibs += Split(lenv['BF_FFTW3_LIB_STATIC'])
if lenv['WITH_BF_FFMPEG'] and lenv['WITH_BF_STATICFFMPEG']:
statlibs += Split(lenv['BF_FFMPEG_LIB_STATIC'])
if lenv['WITH_BF_INTERNATIONAL']:
libincs += Split(lenv['BF_GETTEXT_LIBPATH'])
if lenv['WITH_BF_GETTEXT_STATIC']:
statlibs += Split(lenv['BF_GETTEXT_LIB_STATIC'])
if lenv['WITH_BF_FREETYPE_STATIC']:
statlibs += Split(lenv['BF_FREETYPE_LIB_STATIC'])
if lenv['WITH_BF_OPENAL']:
libincs += Split(lenv['BF_OPENAL_LIBPATH'])
if lenv['WITH_BF_STATICOPENAL']:
statlibs += Split(lenv['BF_OPENAL_LIB_STATIC'])
if lenv['WITH_BF_STATICOPENGL']:
statlibs += Split(lenv['BF_OPENGL_LIB_STATIC'])
if lenv['WITH_BF_STATICCXX']:
statlibs += Split(lenv['BF_CXX_LIB_STATIC'])
if lenv['WITH_BF_PYTHON'] and lenv['WITH_BF_STATICPYTHON']:
statlibs += Split(lenv['BF_PYTHON_LIB_STATIC'])
if lenv['WITH_BF_SNDFILE'] and lenv['WITH_BF_STATICSNDFILE']:
statlibs += Split(lenv['BF_SNDFILE_LIB_STATIC'])
if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
libincs += Split(lenv['BF_PTHREADS_LIBPATH'])
if lenv['WITH_BF_COLLADA']:
libincs += Split(lenv['BF_OPENCOLLADA_LIBPATH'])
if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
libincs += Split(lenv['BF_PCRE_LIBPATH'])
libincs += Split(lenv['BF_EXPAT_LIBPATH'])
if lenv['WITH_BF_OPENMP']:
if lenv['OURPLATFORM'] == 'linuxcross':
libincs += Split(lenv['BF_OPENMP_LIBPATH'])
if lenv['WITH_BF_STATICLIBSAMPLERATE']:
statlibs += Split(lenv['BF_LIBSAMPLERATE_LIB_STATIC'])
# setting this last so any overriding of manually libs could be handled
if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
libincs.append('/usr/lib')
return statlibs, libincs
def setup_syslibs(lenv):
syslibs = [
lenv['BF_JPEG_LIB'],
lenv['BF_PNG_LIB'],
]
if not lenv['WITH_BF_FREETYPE_STATIC']:
syslibs += Split(lenv['BF_FREETYPE_LIB'])
if lenv['WITH_BF_PYTHON'] and not lenv['WITH_BF_STATICPYTHON']:
if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw'):
syslibs.append(lenv['BF_PYTHON_LIB']+'_d')
else:
syslibs.append(lenv['BF_PYTHON_LIB'])
if lenv['WITH_BF_INTERNATIONAL'] and not lenv['WITH_BF_GETTEXT_STATIC']:
syslibs += Split(lenv['BF_GETTEXT_LIB'])
if lenv['WITH_BF_OPENAL']:
if not lenv['WITH_BF_STATICOPENAL']:
syslibs += Split(lenv['BF_OPENAL_LIB'])
if lenv['WITH_BF_OPENMP'] and lenv['CC'] != 'icc':
if lenv['CC'] == 'cl.exe':
syslibs += ['vcomp']
else:
syslibs += ['gomp']
if lenv['WITH_BF_ICONV']:
syslibs += Split(lenv['BF_ICONV_LIB'])
if lenv['WITH_BF_OPENEXR'] and not lenv['WITH_BF_STATICOPENEXR']:
syslibs += Split(lenv['BF_OPENEXR_LIB'])
if lenv['WITH_BF_TIFF'] and not lenv['WITH_BF_STATICTIFF']:
syslibs += Split(lenv['BF_TIFF_LIB'])
if lenv['WITH_BF_ZLIB'] and not lenv['WITH_BF_STATICZLIB']:
syslibs += Split(lenv['BF_ZLIB_LIB'])
if lenv['WITH_BF_FFMPEG'] and not lenv['WITH_BF_STATICFFMPEG']:
syslibs += Split(lenv['BF_FFMPEG_LIB'])
if lenv['WITH_BF_OGG']:
syslibs += Split(lenv['BF_OGG_LIB'])
if lenv['WITH_BF_JACK']:
syslibs += Split(lenv['BF_JACK_LIB'])
if lenv['WITH_BF_SNDFILE'] and not lenv['WITH_BF_STATICSNDFILE']:
syslibs += Split(lenv['BF_SNDFILE_LIB'])
if lenv['WITH_BF_FFTW3'] and not lenv['WITH_BF_STATICFFTW3']:
syslibs += Split(lenv['BF_FFTW3_LIB'])
if lenv['WITH_BF_SDL']:
syslibs += Split(lenv['BF_SDL_LIB'])
if not lenv['WITH_BF_STATICOPENGL']:
syslibs += Split(lenv['BF_OPENGL_LIB'])
if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw','linuxcross', 'win64-vc'):
syslibs += Split(lenv['BF_PTHREADS_LIB'])
if lenv['WITH_BF_LCMS']:
syslibs.append(lenv['BF_LCMS_LIB'])
if lenv['WITH_BF_COLLADA']:
syslibs.append(lenv['BF_PCRE_LIB'])
syslibs += Split(lenv['BF_OPENCOLLADA_LIB'])
syslibs.append(lenv['BF_EXPAT_LIB'])
if not lenv['WITH_BF_STATICLIBSAMPLERATE']:
syslibs += Split(lenv['BF_LIBSAMPLERATE_LIB'])
syslibs += lenv['LLIBS']
return syslibs
def propose_priorities():
print bc.OKBLUE+"Priorities:"+bc.ENDC
for t in possible_types:
print bc.OKGREEN+"\t"+t+bc.ENDC
new_priority = 0
curlib = libs[t]
sortlist = curlib.keys()
sortlist.sort()
for sk in sortlist:
v = curlib[sk]
#for p,v in sorted(libs[t].iteritems()):
print "\t\t",new_priority, v
new_priority += 5
## TODO: see if this can be made in an emitter
def buildinfo(lenv, build_type):
"""
Generate a buildinfo object
"""
build_date = time.strftime ("%Y-%m-%d")
build_time = time.strftime ("%H:%M:%S")
build_rev = os.popen('svnversion').read()[:-1] # remove \n
if build_rev == '':
build_rev = '-UNKNOWN-'
if lenv['BF_DEBUG']:
build_type = "Debug"
else:
build_type = "Release"
obj = []
if lenv['BF_BUILDINFO']:
lenv.Append (CPPDEFINES = ['BUILD_TIME="%s"'%(build_time),
'BUILD_DATE="%s"'%(build_date),
'BUILD_TYPE="%s"'%(build_type),
'BUILD_REV="%s"'%(build_rev),
'NAN_BUILDINFO',
'BUILD_PLATFORM="%s:%s"'%(platform.system(), platform.architecture()[0])])
lenv.Append (CPPPATH = [root_build_dir+'source/blender/blenkernel'])
obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, [root_build_dir+'source/creator/buildinfo.c'])]
return obj
##### END LIB STUFF ############
##### ACTION STUFF #############
def my_print_cmd_line(self, s, target, source, env):
sys.stdout.write(' ' * 70 + '\r')
sys.stdout.flush()
sys.stdout.write(s + "\r")
sys.stdout.flush()
def my_compile_print(target, source, env):
a = '%s' % (source[0])
d, f = os.path.split(a)
return bc.OKBLUE+"Compiling"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC
def my_moc_print(target, source, env):
a = '%s' % (source[0])
d, f = os.path.split(a)
return bc.OKBLUE+"Creating MOC"+bc.ENDC+ " ==> '"+bc.OKGREEN+"%s" %(f) + "'"+bc.ENDC
def my_linking_print(target, source, env):
t = '%s' % (target[0])
d, f = os.path.split(t)
return bc.OKBLUE+"Linking library"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC
def my_program_print(target, source, env):
t = '%s' % (target[0])
d, f = os.path.split(t)
return bc.OKBLUE+"Linking program"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC
def msvc_hack(env):
static_lib = SCons.Tool.createStaticLibBuilder(env)
program = SCons.Tool.createProgBuilder(env)
env['BUILDERS']['Library'] = static_lib
env['BUILDERS']['StaticLibrary'] = static_lib
env['BUILDERS']['Program'] = program
def set_quiet_output(env):
mycaction = Action("$CCCOM", strfunction=my_compile_print)
myshcaction = Action("$SHCCCOM", strfunction=my_compile_print)
mycppaction = Action("$CXXCOM", strfunction=my_compile_print)
myshcppaction = Action("$SHCXXCOM", strfunction=my_compile_print)
mylibaction = Action("$ARCOM", strfunction=my_linking_print)
mylinkaction = Action("$LINKCOM", strfunction=my_program_print)
static_ob, shared_ob = SCons.Tool.createObjBuilders(env)
static_ob.add_action('.c', mycaction)
static_ob.add_action('.cpp', mycppaction)
shared_ob.add_action('.c', myshcaction)
shared_ob.add_action('.cpp', myshcppaction)
static_lib = SCons.Builder.Builder(action = mylibaction,
emitter = '$LIBEMITTER',
prefix = '$LIBPREFIX',
suffix = '$LIBSUFFIX',
src_suffix = '$OBJSUFFIX',
src_builder = 'StaticObject')
program = SCons.Builder.Builder(action = mylinkaction,
emitter = '$PROGEMITTER',
prefix = '$PROGPREFIX',
suffix = '$PROGSUFFIX',
src_suffix = '$OBJSUFFIX',
src_builder = 'Object',
target_scanner = SCons.Defaults.ProgScan)
env['BUILDERS']['Object'] = static_ob
env['BUILDERS']['StaticObject'] = static_ob
env['BUILDERS']['StaticLibrary'] = static_lib
env['BUILDERS']['Library'] = static_lib
env['BUILDERS']['Program'] = program
if env['BF_LINE_OVERWRITE']:
SCons.Action._ActionAction.print_cmd_line = my_print_cmd_line
class CompZipFile(zipfile.ZipFile):
"""Partial copy of python2.6's zipfile.ZipFile (see http://www.python.org)
to get a extractall() that works on py2.5 and probably earlier distributions."""
def __init__(self, file, mode="r", compression=zipfile.ZIP_STORED, allowZip64=False):
if sys.version_info < (2, 6):
zipfile.ZipFile.__init__(self, file, mode, compression)
else:
zipfile.ZipFile.__init__(self, file, mode, compression, allowZip64)
if not hasattr(self,"extractall"): # use our method
print "Debug: Using comp_extractall!"
self.extractall= self.comp_extractall
def comp_extractall(self, path=None, members=None, pwd=None): #renamed method
"""Extract all members from the archive to the current working
directory. `path' specifies a different directory to extract to.
`members' is optional and must be a subset of the list returned
by namelist().
"""
if members is None:
members = self.namelist()
for zipinfo in members:
self.comp_extract(zipinfo, path, pwd) # use our method
def comp_extract(self, member, path=None, pwd=None): #renamed method
"""Extract a member from the archive to the current working directory,
using its full name. Its file information is extracted as accurately
as possible. `member' may be a filename or a ZipInfo object. You can
specify a different directory using `path'.
"""
if not isinstance(member, zipfile.ZipInfo):
member = self.getinfo(member)
if path is None:
path = os.getcwd()
return self.comp_extract_member(member, path, pwd) # use our method
def comp_extract_member(self, member, targetpath, pwd): #renamed method
"""Extract the ZipInfo object 'member' to a physical
file on the path targetpath.
"""
# build the destination pathname, replacing
# forward slashes to platform specific separators.
if targetpath[-1:] in (os.path.sep, os.path.altsep):
targetpath = targetpath[:-1]
# don't include leading "/" from file name if present
if member.filename[0] == '/':
targetpath = os.path.join(targetpath, member.filename[1:])
else:
targetpath = os.path.join(targetpath, member.filename)
targetpath = os.path.normpath(targetpath)
# Create all upper directories if necessary.
upperdirs = os.path.dirname(targetpath)
if upperdirs and not os.path.exists(upperdirs):
os.makedirs(upperdirs)
if member.filename[-1] == '/':
os.mkdir(targetpath)
return targetpath
#use StrinIO instead so we don't have to reproduce more functionality.
source = cStringIO.StringIO(self.read(member.filename))
target = file(targetpath, "wb")
shutil.copyfileobj(source, target)
source.close()
target.close()
return targetpath
def unzip_pybundle(from_zip,to_dir,exclude_re):
zip= CompZipFile(from_zip, mode='r')
exclude_re= list(exclude_re) #single re object or list of re objects
debug= 0 #list files instead of unpacking
good= []
if debug: print '\nFiles not being unpacked:\n'
for name in zip.namelist():
is_bad= 0
for r in exclude_re:
if r.match(name):
is_bad=1
if debug: print name
break
if not is_bad:
good.append(name)
if debug:
print '\nFiles being unpacked:\n'
for g in good:
print g
else:
zip.extractall(to_dir, good)
def my_winpybundle_print(target, source, env):
pass
def WinPyBundle(target=None, source=None, env=None):
import re
py_zip= env.subst( env['LCGDIR'] )
if py_zip[0]=='#':
py_zip= py_zip[1:]
if env['BF_DEBUG']:
py_zip+= '/release/python' + env['BF_PYTHON_VERSION'].replace('.','') + '_d.zip'
else:
py_zip+= '/release/python' + env['BF_PYTHON_VERSION'].replace('.','') + '.zip'
py_target = env.subst( env['BF_INSTALLDIR'] )
if py_target[0]=='#':
py_target=py_target[1:]
py_target = os.path.join(py_target, VERSION, 'python', 'lib')
def printexception(func,path,ex):
if os.path.exists(path): #do not report if path does not exist. eg on a fresh build.
print str(func) + ' failed on ' + str(path)
print "Trying to remove existing py bundle."
shutil.rmtree(py_target, False, printexception)
exclude_re=[re.compile('.*/test/.*'),
re.compile('^config/.*'),
re.compile('^distutils/.*'),
re.compile('^idlelib/.*'),
re.compile('^lib2to3/.*'),
re.compile('^tkinter/.*')]
print "Unpacking '" + py_zip + "' to '" + py_target + "'"
unzip_pybundle(py_zip,py_target,exclude_re)
def my_appit_print(target, source, env):
a = '%s' % (target[0])
d, f = os.path.split(a)
return "making bundle for " + f
def AppIt(target=None, source=None, env=None):
import shutil
import commands
import os.path
a = '%s' % (target[0])
builddir, b = os.path.split(a)
libdir = env['LCGDIR'][1:]
osxarch = env['MACOSX_ARCHITECTURE']
installdir = env['BF_INSTALLDIR']
print("compiled architecture: %s"%(osxarch))
print("Installing to %s"%(installdir))
python_zip = 'python_' + osxarch + '.zip' # set specific python_arch.zip
print("unzipping to app-bundle: %s"%(python_zip))
bldroot = env.Dir('.').abspath
binary = env['BINARYKIND']
if b=='verse':
print bc.OKBLUE+"no bundle for verse"+bc.ENDC
return 0
sourcedir = bldroot + '/source/darwin/%s.app'%binary
sourceinfo = bldroot + "/source/darwin/%s.app/Contents/Info.plist"%binary
targetinfo = installdir +'/' + "%s.app/Contents/Info.plist"%binary
cmd = installdir + '/' +'%s.app'%binary
if os.path.isdir(cmd):
shutil.rmtree(cmd)
shutil.copytree(sourcedir, cmd)
cmd = "cat %s | sed s/VERSION/`cat release/VERSION`/ | sed s/DATE/`date +'%%Y-%%b-%%d'`/ > %s"%(sourceinfo,targetinfo)
commands.getoutput(cmd)
cmd = 'cp %s/%s %s/%s.app/Contents/MacOS/%s'%(builddir, binary,installdir, binary, binary)
commands.getoutput(cmd)
cmd = 'mkdir %s/%s.app/Contents/MacOS/%s/'%(installdir, binary, VERSION)
# print cmd
commands.getoutput(cmd)
cmd = installdir + '/%s.app/Contents/MacOS/%s'%(binary,VERSION)
shutil.copy(bldroot + '/release/bin/.blender/.bfont.ttf', cmd)
shutil.copy(bldroot + '/release/bin/.blender/.Blanguages', cmd)
cmd = 'cp -R %s/release/bin/%s/locale %s/%s.app/Contents/Resources/'%(bldroot,VERSION,installdir,binary)
commands.getoutput(cmd)
cmd = 'cp -R %s/release/bin/%s/locale %s/%s.app/Contents/MacOS/%s/'%(bldroot,VERSION,installdir,binary,VERSION)
commands.getoutput(cmd)
cmd = 'cp %s/release/bin/%s/.Blanguages %s/%s.app/Contents/Resources/'%(bldroot,VERSION,installdir,binary)
commands.getoutput(cmd)
cmd = 'mkdir %s/%s.app/Contents/MacOS/%s/python/'%(installdir,binary, VERSION)
commands.getoutput(cmd)
cmd = 'unzip -q %s/release/%s -d %s/%s.app/Contents/MacOS/%s/python/'%(libdir,python_zip,installdir,binary,VERSION)
commands.getoutput(cmd)
cmd = 'cp -R %s/release/scripts %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
commands.getoutput(cmd)
cmd = 'cp -R %s/release/ui %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
commands.getoutput(cmd)
cmd = 'cp -R %s/release/io %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
commands.getoutput(cmd)
cmd = 'chmod +x %s/%s.app/Contents/MacOS/%s'%(installdir,binary, binary)
commands.getoutput(cmd)
cmd = 'find %s/%s.app -name .svn -prune -exec rm -rf {} \;'%(installdir, binary)
commands.getoutput(cmd)
cmd = 'find %s/%s.app -name .DS_Store -exec rm -rf {} \;'%(installdir, binary)
commands.getoutput(cmd)
cmd = 'find %s/%s.app -name __MACOSX -exec rm -rf {} \;'%(installdir, binary)
commands.getoutput(cmd)
# extract copy system python, be sure to update other build systems
# when making changes to the files that are copied.
def my_unixpybundle_print(target, source, env):
pass
def UnixPyBundle(target=None, source=None, env=None):
# Any Unix except osx
#-- VERSION/python/lib/python3.1
import commands
def run(cmd):
print 'Install command:', cmd
commands.getoutput(cmd)
dir = os.path.join(env['BF_INSTALLDIR'], VERSION)
py_src = env.subst( env['BF_PYTHON_LIBPATH'] + '/python'+env['BF_PYTHON_VERSION'] )
py_target = env.subst( dir + '/python/lib/python'+env['BF_PYTHON_VERSION'] )
# This is a bit weak, but dont install if its been installed before, makes rebuilds quite slow.
if os.path.exists(py_target):
print 'Using existing python from:'
print '\t"%s"' % py_target
print '\t(skipping copy)\n'
return
# Copied from source/creator/CMakeLists.txt, keep in sync.
print 'Install python from:'
print '\t"%s" into...' % py_src
print '\t"%s"\n' % py_target
run('rm -rf "%s"' % py_target)
try: os.makedirs(os.path.dirname(py_target)) # the final part is copied
except:pass
run('cp -R "%s" "%s"' % (py_src, os.path.dirname(py_target)))
run('rm -rf "%s/distutils"' % py_target)
run('rm -rf "%s/lib2to3"' % py_target)
run('rm -rf "%s/idlelib"' % py_target)
run('rm -rf "%s/tkinter"' % py_target)
run('rm -rf "%s/config"' % py_target)
run('rm -rf "%s/site-packages"' % py_target)
run('mkdir "%s/site-packages"' % py_target) # python needs it.'
run('rm -f "%s/lib-dynload/_tkinter.so"' % py_target)
run('find "%s" -name "test" -prune -exec rm -rf {} \;' % py_target)
run('find "%s" -name "*.py?" -exec rm -rf {} \;' % py_target)
run('find "%s" -name "*.so"-exec strip -s {} \;' % py_target)
#### END ACTION STUFF #########
def bsc(env, target, source):
bd = os.path.dirname(target[0].abspath)
bscfile = '\"'+target[0].abspath+'\"'
bscpathcollect = '\"'+bd + os.sep + '*.sbr\"'
bscpathtmp = '\"'+bd + os.sep + 'bscmake.tmp\"'
os.system('dir /b/s '+bscpathcollect+' >'+bscpathtmp)
myfile = open(bscpathtmp[1:-1], 'r')
lines = myfile.readlines()
myfile.close()
newfile = open(bscpathtmp[1:-1], 'w')
for l in lines:
newfile.write('\"'+l[:-1]+'\"\n')
newfile.close()
os.system('bscmake /nologo /n /o'+bscfile+' @'+bscpathtmp)
os.system('del '+bscpathtmp)
class BlenderEnvironment(SConsEnvironment):
def BlenderRes(self=None, libname=None, source=None, libtype=['core'], priority=[100]):
global libs
if not self or not libname or not source:
print bc.FAIL+'Cannot continue. Missing argument for BlenderRes '+libname+bc.ENDC
self.Exit()
if self['OURPLATFORM'] not in ('win32-vc','win32-mingw','linuxcross', 'win64-vc'):
print bc.FAIL+'BlenderRes is for windows only!'+bc.END
self.Exit()
print bc.HEADER+'Configuring resource '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC
lenv = self.Clone()
if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
res = lenv.RES('#'+root_build_dir+'lib/'+libname, source)
else:
res = lenv.RES(root_build_dir+'lib/'+libname, source)
SConsEnvironment.Default(self, res)
resources.append(res)
def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None, cc_compileflags=None, cxx_compileflags=None):
global vcp
if not self or not libname or not sources:
print bc.FAIL+'Cannot continue. Missing argument for BuildBlenderLib '+libname+bc.ENDC
self.Exit()
def list_substring(quickie, libname):
for q in quickie:
if libname.find(q) != -1:
return True
return False
if list_substring(quickie, libname) or len(quickie)==0:
if list_substring(quickdebug, libname):
print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname +bc.ENDC+bc.OKBLUE+ " (debug mode)" + bc.ENDC
else:
print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname + bc.ENDC
lenv = self.Clone()
lenv.Append(CPPPATH=includes)
lenv.Append(CPPDEFINES=defines)
if lenv['BF_DEBUG'] or (libname in quickdebug):
lenv.Append(CFLAGS = lenv['BF_DEBUG_CFLAGS'])
lenv.Append(CCFLAGS = lenv['BF_DEBUG_CCFLAGS'])
lenv.Append(CXXFLAGS = lenv['BF_DEBUG_CXXFLAGS'])
else:
lenv.Append(CFLAGS = lenv['REL_CFLAGS'])
lenv.Append(CCFLAGS = lenv['REL_CCFLAGS'])
lenv.Append(CXXFLAGS = lenv['REL_CXXFLAGS'])
if lenv['BF_PROFILE']:
lenv.Append(CFLAGS = lenv['BF_PROFILE_CFLAGS'])
lenv.Append(CCFLAGS = lenv['BF_PROFILE_CCFLAGS'])
lenv.Append(CXXFLAGS = lenv['BF_PROFILE_CXXFLAGS'])
if compileflags:
lenv.Replace(CFLAGS = compileflags)
if cc_compileflags:
lenv.Replace(CCFLAGS = cc_compileflags)
if cxx_compileflags:
lenv.Replace(CXXFLAGS = cxx_compileflags)
lenv.Append(CFLAGS = lenv['C_WARN'])
lenv.Append(CCFLAGS = lenv['CC_WARN'])
lenv.Append(CXXFLAGS = lenv['CXX_WARN'])
if lenv['OURPLATFORM'] == 'win64-vc':
lenv.Append(LINKFLAGS = ['/MACHINE:X64'])
if lenv['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
if lenv['BF_DEBUG']:
lenv.Append(CCFLAGS = ['/MTd'])
else:
lenv.Append(CCFLAGS = ['/MT'])
targetdir = root_build_dir+'lib/' + libname
if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
targetdir = '#'+targetdir
lib = lenv.Library(target= targetdir, source=sources)
SConsEnvironment.Default(self, lib) # we add to default target, because this way we get some kind of progress info during build
if self['BF_MSVS'] and self['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
#if targetdir[0] == '#':
# targetdir = targetdir[1:-1]
print "! ",targetdir+ '.vcproj' # + self['MSVSPROJECTSUFFIX']
vcproject = self.MSVSProject(target = targetdir + '.vcproj', # + self['MSVSPROJECTSUFFIX'],
srcs = sources,
buildtarget = lib,
variant = 'Release',
auto_build_solution=0)
vcp.append(vcproject)
SConsEnvironment.Default(self, vcproject)
else:
print bc.WARNING+'Not building '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC+' for '+bc.OKBLUE+'BF_QUICK'+bc.ENDC
# note: libs is a global
add_lib_to_dict(self, libs, libtype, libname, priority)
def BlenderProg(self=None, builddir=None, progname=None, sources=None, libs=None, libpath=None, binarykind=''):
global vcp
print bc.HEADER+'Configuring program '+bc.ENDC+bc.OKGREEN+progname+bc.ENDC
lenv = self.Clone()
if lenv['OURPLATFORM'] in ('win32-vc', 'cygwin', 'win64-vc'):
lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
lenv.Append(LINKFLAGS = ['/FORCE:MULTIPLE'])
if lenv['BF_DEBUG']:
lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb'])
if lenv['OURPLATFORM']=='linux2':
lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
if lenv['OURPLATFORM']=='sunos5':
lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
if lenv['CXX'].endswith('CC'):
lenv.Replace(LINK = '$CXX')
if lenv['OURPLATFORM']=='darwin':
lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
lenv.Append(LINKFLAGS = lenv['BF_OPENGL_LINKFLAGS'])
if lenv['BF_PROFILE']:
lenv.Append(LINKFLAGS = lenv['BF_PROFILE_LINKFLAGS'])
if root_build_dir[0]==os.sep or root_build_dir[1]==':':
lenv.Append(LIBPATH=root_build_dir + '/lib')
lenv.Append(LIBPATH=libpath)
lenv.Append(LIBS=libs)
if lenv['WITH_BF_QUICKTIME']:
lenv.Append(LIBS = lenv['BF_QUICKTIME_LIB'])
lenv.Append(LIBPATH = lenv['BF_QUICKTIME_LIBPATH'])
prog = lenv.Program(target=builddir+'bin/'+progname, source=sources)
if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc', 'win64-vc') and lenv['BF_BSC']:
f = lenv.File(progname + '.bsc', builddir)
brs = lenv.Command(f, prog, [bsc])
SConsEnvironment.Default(self, brs)
SConsEnvironment.Default(self, prog)
if self['BF_MSVS'] and self['OURPLATFORM'] in ('win32-vc', 'win64-vc') and progname == 'blender':
print "! ",builddir + "/" + progname + '.sln'
sln = self.MSVSProject(target = builddir + "/" + progname + '.sln',
projects= vcp,
variant = 'Release')
SConsEnvironment.Default(self, sln)
program_list.append(prog)
if lenv['OURPLATFORM']=='darwin':
lenv['BINARYKIND'] = binarykind
lenv.AddPostAction(prog,Action(AppIt,strfunction=my_appit_print))
elif os.sep == '/' and lenv['OURPLATFORM'] != 'linuxcross': # any unix (except cross-compilation)
if lenv['WITH_BF_PYTHON']:
if not lenv['WITHOUT_BF_INSTALL'] and not lenv['WITHOUT_BF_PYTHON_INSTALL']:
lenv.AddPostAction(prog,Action(UnixPyBundle,strfunction=my_unixpybundle_print))
elif lenv['OURPLATFORM'].startswith('win') or lenv['OURPLATFORM'] == 'linuxcross': # windows or cross-compilation
if lenv['WITH_BF_PYTHON']:
if not lenv['WITHOUT_BF_PYTHON_INSTALL']:
lenv.AddPostAction(prog,Action(WinPyBundle,strfunction=my_winpybundle_print))
return prog
def Glob(lenv, pattern):
path = string.replace(GetBuildPath(lenv,'SConscript'),'SConscript', '')
files = []
for i in glob.glob(path + pattern):
files.append(string.replace(i, path, ''))
return files

View File

@@ -1,4 +1,3 @@
import os
import os.path
import SCons.Options
@@ -16,6 +15,16 @@ import sys
Variables = SCons.Variables
BoolVariable = SCons.Variables.BoolVariable
def get_version():
fname = os.path.join(os.path.dirname(__file__), "..", "..", "..", "source", "blender", "blenkernel", "BKE_blender.h")
for l in open(fname, "r"):
if "BLENDER_VERSION" in l:
ver = int(l.split()[-1])
return "%d.%d" % (ver / 100, ver % 100)
raise Exception("%s: missing version string" % fname)
VERSION = get_version() # This is used in creating the local config directories
def print_arguments(args, bc):
if len(args):
for k,v in args.iteritems():
@@ -30,28 +39,29 @@ def validate_arguments(args, bc):
'WITH_BF_PYTHON', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'BF_PYTHON_DLL',
'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC',
'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH',
'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH',
'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH', 'WITH_BF_STATICLIBSAMPLERATE', 'BF_LIBSAMPLERATE_LIB_STATIC',
'WITH_BF_JACK', 'BF_JACK', 'BF_JACK_INC', 'BF_JACK_LIB', 'BF_JACK_LIBPATH',
'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH',
'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH', 'WITH_BF_STATICSNDFILE', 'BF_SNDFILE_LIB_STATIC',
'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH',
'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC',
'WITH_BF_DDS',
'WITH_BF_DDS', 'WITH_BF_CINEON', 'WITH_BF_HDR',
'WITH_BF_FFMPEG', 'BF_FFMPEG_LIB','BF_FFMPEG_EXTRA', 'BF_FFMPEG', 'BF_FFMPEG_INC',
'WITH_BF_STATICFFMPEG', 'BF_FFMPEG_LIB_STATIC',
'WITH_BF_OGG', 'BF_OGG', 'BF_OGG_LIB',
'WITH_BF_JPEG', 'BF_JPEG', 'BF_JPEG_INC', 'BF_JPEG_LIB', 'BF_JPEG_LIBPATH',
'WITH_BF_OPENJPEG', 'BF_OPENJPEG', 'BF_OPENJPEG_INC', 'BF_OPENJPEG_LIB', 'BF_OPENJPEG_LIBPATH',
'WITH_BF_REDCODE', 'BF_REDCODE', 'BF_REDCODE_INC', 'BF_REDCODE_LIB', 'BF_REDCODE_LIBPATH',
'WITH_BF_PNG', 'BF_PNG', 'BF_PNG_INC', 'BF_PNG_LIB', 'BF_PNG_LIBPATH',
'BF_TIFF', 'BF_TIFF_INC', 'BF_TIFF_LIB', 'BF_TIFF_LIBPATH',
'WITH_BF_ZLIB', 'BF_ZLIB', 'BF_ZLIB_INC', 'BF_ZLIB_LIB', 'BF_ZLIB_LIBPATH',
'WITH_BF_TIFF', 'BF_TIFF', 'BF_TIFF_INC', 'BF_TIFF_LIB', 'BF_TIFF_LIBPATH', 'WITH_BF_STATICTIFF', 'BF_TIFF_LIB_STATIC',
'WITH_BF_ZLIB', 'BF_ZLIB', 'BF_ZLIB_INC', 'BF_ZLIB_LIB', 'BF_ZLIB_LIBPATH', 'WITH_BF_STATICZLIB', 'BF_ZLIB_LIB_STATIC',
'WITH_BF_INTERNATIONAL',
'BF_GETTEXT', 'BF_GETTEXT_INC', 'BF_GETTEXT_LIB', 'BF_GETTEXT_LIBPATH',
'BF_GETTEXT', 'BF_GETTEXT_INC', 'BF_GETTEXT_LIB', 'WITH_BF_GETTEXT_STATIC', 'BF_GETTEXT_LIB_STATIC', 'BF_GETTEXT_LIBPATH',
'WITH_BF_ICONV', 'BF_ICONV', 'BF_ICONV_INC', 'BF_ICONV_LIB', 'BF_ICONV_LIBPATH',
'WITH_BF_GAMEENGINE', 'WITH_BF_BULLET', 'BF_BULLET', 'BF_BULLET_INC', 'BF_BULLET_LIB',
'BF_WINTAB', 'BF_WINTAB_INC',
'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH',
'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', 'BF_FREETYPE_LIB_STATIC', 'WITH_BF_FREETYPE_STATIC',
'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH',
'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH',
'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH', 'WITH_BF_STATICFFTW3', 'BF_FFTW3_LIB_STATIC',
'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC',
'WITH_BF_COLLADA', 'BF_COLLADA', 'BF_COLLADA_INC', 'BF_COLLADA_LIB', 'BF_OPENCOLLADA', 'BF_OPENCOLLADA_INC', 'BF_OPENCOLLADA_LIB', 'BF_OPENCOLLADA_LIBPATH', 'BF_PCRE', 'BF_PCRE_LIB', 'BF_PCRE_LIBPATH', 'BF_EXPAT', 'BF_EXPAT_LIB', 'BF_EXPAT_LIBPATH',
'WITH_BF_PLAYER',
@@ -63,22 +73,27 @@ def validate_arguments(args, bc):
'BF_TWEAK_MODE', 'BF_SPLIT_SRC',
'WITHOUT_BF_INSTALL',
'WITHOUT_BF_PYTHON_INSTALL',
'WITHOUT_BF_OVERWRITE_INSTALL',
'WITH_BF_OPENMP',
'BF_OPENMP',
'BF_OPENMP_INC',
'BF_OPENMP_LIBPATH',
'WITH_GHOST_COCOA',
'USE_QTKIT',
'BF_FANCY', 'BF_QUIET',
'BF_FANCY', 'BF_QUIET', 'BF_LINE_OVERWRITE',
'BF_X264_CONFIG',
'BF_XVIDCORE_CONFIG',
'WITH_BF_LCMS', 'BF_LCMS_LIB',
'WITH_BF_LCMS', 'BF_LCMS', 'BF_LCMS_INC', 'BF_LCMS_LIB', 'BF_LCMS_LIBPATH',
'WITH_BF_DOCS',
'BF_NUMJOBS',
'BF_MSVS',
'WITH_BF_FHS',
'BF_VERSION',
'BF_GHOST_DEBUG',
'WITH_BF_RAYOPTIMIZATION',
'BF_RAYOPTIMIZATION_SSE_FLAGS',
'BF_NO_ELBEEM'
'BF_NO_ELBEEM',
'WITH_BF_CXX_GUARDEDALLOC',
'BF_VCREDIST' # Windows-only, and useful only when creating installer
]
# Have options here that scons expects to be lists
@@ -97,7 +112,7 @@ def validate_arguments(args, bc):
arg_list = ['BF_DEBUG', 'BF_QUIET', 'BF_CROSS', 'BF_UPDATE',
'BF_INSTALLDIR', 'BF_TOOLSET', 'BF_BINNAME',
'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE',
'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE', 'BF_LINE_OVERWRITE',
'BF_BSC', 'BF_CONFIG',
'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX', 'BF_QUICKDEBUG',
'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG',
@@ -156,7 +171,7 @@ def SetupSpawn( env ):
env['SPAWN'] = buf.ourspawn
def read_opts(cfg, args):
def read_opts(env, cfg, args):
localopts = Variables.Variables(cfg, args)
localopts.AddVariables(
('LCGDIR', 'location of cvs lib dir'),
@@ -192,6 +207,8 @@ def read_opts(cfg, args):
('BF_LIBSAMPLERATE_INC', 'libsamplerate aka SRC include path', ''),
('BF_LIBSAMPLERATE_LIB', 'libsamplerate aka SRC library', ''),
('BF_LIBSAMPLERATE_LIBPATH', 'libsamplerate aka SRC library path', ''),
('BF_LIBSAMPLERATE_LIB_STATIC', 'Path to libsamplerate static library', ''),
(BoolVariable('WITH_BF_STATICLIBSAMPLERATE', 'Staticly link to libsamplerate', False)),
(BoolVariable('WITH_BF_JACK', 'Enable jack support if true', True)),
('BF_JACK', 'jack base path', ''),
@@ -203,7 +220,9 @@ def read_opts(cfg, args):
('BF_SNDFILE', 'sndfile base path', ''),
('BF_SNDFILE_INC', 'sndfile include path', ''),
('BF_SNDFILE_LIB', 'sndfile library', ''),
('BF_SNDFILE_LIB_STATIC', 'Path to sndfile static library', ''),
('BF_SNDFILE_LIBPATH', 'sndfile library path', ''),
(BoolVariable('WITH_BF_STATICSNDFILE', 'Staticly link to sndfile', False)),
('BF_PTHREADS', 'Pthreads base path', ''),
('BF_PTHREADS_INC', 'Pthreads include path', ''),
@@ -218,7 +237,11 @@ def read_opts(cfg, args):
('BF_OPENEXR_LIBPATH', 'OPENEXR library path', ''),
('BF_OPENEXR_LIB_STATIC', 'OPENEXR static library', ''),
(BoolVariable('WITH_BF_DDS', 'Use DDS if true', True)),
(BoolVariable('WITH_BF_DDS', 'Support DDS image format if true', True)),
(BoolVariable('WITH_BF_CINEON', 'Support CINEON and DPX image formats if true', True)),
(BoolVariable('WITH_BF_HDR', 'Support HDR image formats if true', True)),
(BoolVariable('WITH_BF_FFMPEG', 'Use FFMPEG if true', False)),
('BF_FFMPEG', 'FFMPEG base path', ''),
@@ -227,6 +250,8 @@ def read_opts(cfg, args):
('BF_FFMPEG_INC', 'FFMPEG includes', ''),
('BF_FFMPEG_LIBPATH', 'FFMPEG library path', ''),
(BoolVariable('WITH_BF_STATICFFMPEG', 'Use static FFMPEG if true', False)),
('BF_FFMPEG_LIB_STATIC', 'Static FFMPEG libraries', ''),
(BoolVariable('WITH_BF_OGG', 'Use OGG, THEORA, VORBIS in FFMPEG if true',
False)),
@@ -257,22 +282,35 @@ def read_opts(cfg, args):
('BF_PNG_LIB', 'PNG library', ''),
('BF_PNG_LIBPATH', 'PNG library path', ''),
(BoolVariable('WITH_BF_TIFF', 'Use TIFF if true', True)),
(BoolVariable('WITH_BF_STATICTIFF', 'Staticly link to TIFF', False)),
('BF_TIFF', 'TIFF base path', ''),
('BF_TIFF_INC', 'TIFF include path', ''),
('BF_TIFF_LIB', 'TIFF library', ''),
('BF_TIFF_LIBPATH', 'TIFF library path', ''),
('BF_TIFF_LIB_STATIC', 'TIFF static library', ''),
(BoolVariable('WITH_BF_LCMS', 'Enable color correction with lcms', False)),
('BF_LCMS', 'LCMS base path', ''),
('BF_LCMS_INC', 'LCMS include path', ''),
('BF_LCMS_LIB', 'LCMS library', ''),
('BF_LCMS_LIBPATH', 'LCMS library path', ''),
(BoolVariable('WITH_BF_ZLIB', 'Use ZLib if true', True)),
(BoolVariable('WITH_BF_STATICZLIB', 'Staticly link to ZLib', False)),
('BF_ZLIB', 'ZLib base path', ''),
('BF_ZLIB_INC', 'ZLib include path', ''),
('BF_ZLIB_LIB', 'ZLib library', ''),
('BF_ZLIB_LIBPATH', 'ZLib library path', ''),
('BF_ZLIB_LIB_STATIC', 'ZLib static library', ''),
(BoolVariable('WITH_BF_INTERNATIONAL', 'Use Gettext if true', True)),
('BF_GETTEXT', 'gettext base path', ''),
('BF_GETTEXT_INC', 'gettext include path', ''),
('BF_GETTEXT_LIB', 'gettext library', ''),
(BoolVariable('WITH_BF_GETTEXT_STATIC', 'Use static gettext library if true', False)),
('BF_GETTEXT_LIB_STATIC', 'static gettext library', ''),
('BF_GETTEXT_LIBPATH', 'gettext library path', ''),
(BoolVariable('WITH_BF_ICONV', 'Use iconv if true', True)),
@@ -293,31 +331,19 @@ def read_opts(cfg, args):
('BF_CXX', 'c++ base path for libstdc++, only used when static linking', ''),
(BoolVariable('WITH_BF_STATICCXX', 'static link to stdc++', False)),
('BF_CXX_LIB_STATIC', 'static library path for stdc++', ''),
##
##WITH_BF_NSPR = True
##BF_NSPR = $(LCGDIR)/nspr
##BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
##BF_NSPR_LIB =
### Uncomment the following line to use Mozilla inplace of netscape
##CPPFLAGS += -DMOZ_NOT_NET
### Location of MOZILLA/Netscape header files...
##BF_MOZILLA = $(LCGDIR)/mozilla
##BF_MOZILLA_INC = -I$(BF_MOZILLA)/include/mozilla/nspr -I$(BF_MOZILLA)/include/mozilla -I$(BF_MOZILLA)/include/mozilla/xpcom -I$(BF_MOZILLA)/include/mozilla/idl
##BF_MOZILLA_LIB =
### Will fall back to look in BF_MOZILLA_INC/nspr and BF_MOZILLA_LIB
### if this is not set.
##
### Be paranoid regarding library creation (do not update archives)
##BF_PARANOID = True
##
### enable freetype2 support for text objects
(BoolVariable('WITH_BF_FREETYPE', 'Use FreeType2 if true', True)),
('BF_FREETYPE', 'Freetype base path', ''),
('BF_FREETYPE_INC', 'Freetype include path', ''),
('BF_FREETYPE_LIB', 'Freetype library', ''),
('BF_FREETYPE_LIBPATH', 'Freetype library path', ''),
(BoolVariable('WITH_BF_FREETYPE_STATIC', 'Use Static Freetype if true', False)),
('BF_FREETYPE_LIB_STATIC', 'Static Freetype library', ''),
(BoolVariable('WITH_BF_OPENMP', 'Use OpenMP if true', False)),
('BF_OPENMP', 'Base path to OpenMP (used when cross-compiling with older versions of WinGW)', ''),
('BF_OPENMP_INC', 'Path to OpenMP includes (used when cross-compiling with older versions of WinGW)', ''),
('BF_OPENMP_LIBPATH', 'Path to OpenMP libraries (used when cross-compiling with older versions of WinGW)', ''),
(BoolVariable('WITH_GHOST_COCOA', 'Use Cocoa-framework if true', False)),
(BoolVariable('USE_QTKIT', 'Use QTKIT if true', False)),
@@ -331,7 +357,9 @@ def read_opts(cfg, args):
('BF_FFTW3', 'FFTW3 base path', ''),
('BF_FFTW3_INC', 'FFTW3 include path', ''),
('BF_FFTW3_LIB', 'FFTW3 library', ''),
('BF_FFTW3_LIB_STATIC', 'FFTW3 static libraries', ''),
('BF_FFTW3_LIBPATH', 'FFTW3 library path', ''),
(BoolVariable('WITH_BF_STATICFFTW3', 'Staticly link to FFTW3', False)),
(BoolVariable('WITH_BF_STATICOPENGL', 'Use MESA if true', True)),
('BF_OPENGL', 'OpenGL base path', ''),
@@ -387,13 +415,13 @@ def read_opts(cfg, args):
('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', ''),
('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', ''),
(BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', True)),
(BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', False)),
('BF_BUILDDIR', 'Build dir', ''),
('BF_INSTALLDIR', 'Installation dir', ''),
('CC', 'C compiler to use', ''),
('CXX', 'C++ compiler to use', ''),
('CC', 'C compiler to use', env['CC']),
('CXX', 'C++ compiler to use', env['CXX']),
(BoolVariable('BF_BUILDINFO', 'Buildtime in splash if true', True)),
@@ -401,25 +429,23 @@ def read_opts(cfg, args):
(BoolVariable('BF_SPLIT_SRC', 'Split src lib into several chunks if true', False)),
(BoolVariable('WITHOUT_BF_INSTALL', 'dont install if true', False)),
(BoolVariable('WITHOUT_BF_PYTHON_INSTALL', 'dont install Python modules if true', False)),
(BoolVariable('WITHOUT_BF_OVERWRITE_INSTALL', 'dont remove existing files before breating the new install directory (set to False when making packages for others)', False)),
(BoolVariable('BF_FANCY', 'Enable fancy output if true', True)),
(BoolVariable('BF_QUIET', 'Enable silent output if true', True)),
(BoolVariable('BF_LINE_OVERWRITE', 'Enable overwriting of compile line in BF_QUIET mode if true', False)),
(BoolVariable('WITH_BF_BINRELOC', 'Enable relocatable binary (linux only)', False)),
(BoolVariable('WITH_BF_LZO', 'Enable fast LZO pointcache compression', True)),
(BoolVariable('WITH_BF_LZMA', 'Enable best LZMA pointcache compression', True)),
(BoolVariable('WITH_BF_LCMS', 'Enable color correction with lcms', False)),
('BF_LCMS_LIB', 'LCMSlibrary', 'lcms'),
('BF_X264_CONFIG', 'configuration flags for x264', ''),
('BF_XVIDCORE_CONFIG', 'configuration flags for xvidcore', ''),
(BoolVariable('WITH_BF_DOCS', 'Generate API documentation', False)),
# (BoolVariable('WITH_BF_DOCS', 'Generate API documentation', False)),
('BF_CONFIG', 'SCons python config file used to set default options', 'user_config.py'),
('BF_NUMJOBS', 'Number of build processes to spawn', '1'),
('BF_MSVS', 'Generate MSVS project files and solution', False),
(BoolVariable('WITH_BF_FHS', 'Use the Unix "Filesystem Hierarchy Standard" rather then a redistributable directory layout', False)),
('BF_VERSION', 'The root path for Unix (non-apple)', '2.5'),
(BoolVariable('BF_UNIT_TEST', 'Build with unit test support.', False)),
@@ -427,36 +453,61 @@ def read_opts(cfg, args):
(BoolVariable('BF_GHOST_DEBUG', 'Make GHOST print events and info to stdout. (very verbose)', False)),
(BoolVariable('WITH_BF_RAYOPTIMIZATION', 'Enable raytracer SSE/SIMD optimization.', False)),
('BF_RAYOPTIMIZATION_SSE_FLAGS', 'SSE flags', '')
('BF_RAYOPTIMIZATION_SSE_FLAGS', 'SSE flags', ''),
(BoolVariable('WITH_BF_CXX_GUARDEDALLOC', 'Enable GuardedAlloc for C++ memory allocation tracking.', False)),
('BF_VCREDIST', 'Full path to vcredist', '')
) # end of opts.AddOptions()
return localopts
def NSIS_print(target, source, env):
return "Creating NSIS installer for Blender 3D"
return "Creating NSIS installer for Blender"
def NSIS_Installer(target=None, source=None, env=None):
print "="*35
if env['OURPLATFORM'] != 'win32-vc' and env['OURPLATFORM'] != 'win32-mingw':
if env['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'win64-vc'):
print "NSIS installer is only available on Windows."
Exit()
start_dir = os.getcwd()
rel_dir = start_dir + "\\release\\windows\\installer\\"
install_base_dir = start_dir + "\\"
if not os.path.exists(install_base_dir+env['BF_INSTALLDIR']+'/plugins/include'):
os.mkdir(install_base_dir+env['BF_INSTALLDIR']+'/plugins/include')
for f in glob.glob('source/blender/blenpluginapi/*.h'):
shutil.copy(f,install_base_dir+env['BF_INSTALLDIR']+'/plugins/include')
if env['OURPLATFORM'] == 'win32-vc':
bitness = '32'
elif env['OURPLATFORM'] == 'win64-vc':
bitness = '64'
else:
bitness = '-mingw'
shutil.copy('source/blender/blenpluginapi/plugin.def',install_base_dir+env['BF_INSTALLDIR']+'/plugins/include/')
start_dir = os.getcwd()
rel_dir = os.path.join(start_dir,'release','windows','installer')
install_base_dir = start_dir + os.sep
bf_installdir = os.path.join(os.getcwd(),env['BF_INSTALLDIR'])
bf_installdir = os.path.normpath(bf_installdir)
doneroot = False
rootdirconts = []
datafiles = ''
l = len(bf_installdir)
for dp,dn,df in os.walk(bf_installdir):
if not doneroot:
for f in df:
rootdirconts.append(os.path.join(dp,f))
doneroot = True
else:
if len(df)>0:
dp_tmp = dp[l:]
if dp_tmp.find('python\\lib') > -1:
datafiles += "\n" +r'SetOutPath $INSTDIR'+dp[l:]+"\n\n"
else:
datafiles += "\n"+r'SetOutPath $BLENDERHOME'+dp[l:]+"\n\n"
for f in df:
outfile = os.path.join(dp,f)
datafiles += ' File '+outfile + "\n"
os.chdir("release")
v = open("VERSION")
version = v.read()[:-1]
shortver = version.split('.')[0] + version.split('.')[1]
v.close()
#### change to suit install dir ####
@@ -466,149 +517,50 @@ def NSIS_Installer(target=None, source=None, env=None):
ns = open("00.sconsblender.nsi","r")
ns_cnt = str(ns.read())
ns.close()
# set Python version we compile against
ns_cnt = string.replace(ns_cnt, "[PYTHON_VERSION]", env['BF_PYTHON_VERSION'])
# var replacements
ns_cnt = string.replace(ns_cnt, "[DISTDIR]", os.path.normpath(inst_dir+os.sep))
ns_cnt = string.replace(ns_cnt, "[VERSION]", version)
ns_cnt = string.replace(ns_cnt, "[SHORTVERSION]", VERSION)
ns_cnt = string.replace(ns_cnt, "[RELDIR]", os.path.normpath(rel_dir))
ns_cnt = string.replace(ns_cnt, "[BITNESS]", bitness)
# do root
rootlist = []
rootdir = os.listdir(inst_dir+"\\")
for rootitem in rootdir:
if os.path.isdir(inst_dir+"\\"+ rootitem) == 0:
rootlist.append("File \"" + os.path.normpath(inst_dir) + "\\" + rootitem+"\"")
for rootitem in rootdirconts:
rootlist.append("File \"" + rootitem + "\"")
rootstring = string.join(rootlist, "\n ")
rootstring = rootstring
rootstring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[ROOTDIRCONTS]", rootstring)
# do delete items
delrootlist = []
for rootitem in rootdir:
if os.path.isdir(inst_dir + rootitem) == 0:
delrootlist.append("Delete $INSTDIR\\" + rootitem)
for rootitem in rootdirconts:
delrootlist.append("Delete $INSTDIR\\" + rootitem[l+1:])
delrootstring = string.join(delrootlist, "\n ")
delrootstring += "\n"
ns_cnt = string.replace(ns_cnt, "[DELROOTDIRCONTS]", delrootstring)
# do scripts
scriptlist = []
scriptpath = "%s%s" % (inst_dir, "\\.blender\\scripts")
scriptdir = os.listdir(scriptpath)
for scriptitem in scriptdir:
scriptfile = "%s\\%s" % (scriptpath, scriptitem)
if os.path.isdir(scriptfile) == 0:
scriptfile = os.path.normpath(scriptfile)
scriptlist.append("File \"%s\"" % scriptfile)
scriptstring = string.join(scriptlist, "\n ")
scriptstring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[SCRIPTCONTS]", scriptstring)
ns_cnt = string.replace(ns_cnt, "[DODATAFILES]", datafiles)
# do scripts\bpymodules
bpymodlist = []
bpymodpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpymodules")
bpymoddir = os.listdir(bpymodpath)
for bpymoditem in bpymoddir:
bpymodfile = "%s\\%s" % (bpymodpath, bpymoditem)
if os.path.isdir(bpymodfile) == 0:
bpymodfile = os.path.normpath(bpymodfile)
bpymodlist.append("File \"%s\"" % bpymodfile)
bpymodstring = string.join(bpymodlist, "\n ")
bpymodstring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[SCRIPTMODCONTS]", bpymodstring)
# do scripts\bpymodules\colladaimex
colladalist = []
bpymodpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpymodules\\ColladaImEx")
bpymoddir = os.listdir(bpymodpath)
for bpymoditem in bpymoddir:
bpymodfile = "%s\\%s" % (bpymodpath, bpymoditem)
if os.path.isdir(bpymodfile) == 0:
bpymodfile=os.path.normpath(bpymodfile)
colladalist.append("File \"%s\"" % bpymodfile)
bpymodstring = string.join(colladalist, "\n ")
bpymodstring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[SCRIPTMODCOLLADACONT]", bpymodstring)
# do scripts\bpydata
bpydatalist = []
bpydatapath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpydata")
bpydatadir = os.listdir(bpydatapath)
for bpydataitem in bpydatadir:
bpydatafile = "%s\\%s" % (bpydatapath, bpydataitem)
if os.path.isdir(bpydatafile) == 0:
bpydatalist.append("File \"%s\"" % bpydatafile)
bpydatastring = string.join(bpydatalist, "\n ")
bpydatastring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[SCRIPTDATACONTS]", bpydatastring)
# do plugins\include
plugincludelist = []
plugincludepath = "%s%s" % (inst_dir, "\\plugins\\include")
plugincludedir = os.listdir(plugincludepath)
for plugincludeitem in plugincludedir:
plugincludefile = "%s\\%s" % (plugincludepath, plugincludeitem)
if os.path.isdir(plugincludefile) == 0:
if plugincludefile.find('.h') or plugincludefile.find('.DEF'):
plugincludefile = os.path.normpath(plugincludefile)
plugincludelist.append("File \"%s\"" % plugincludefile)
plugincludestring = string.join(plugincludelist, "\n ")
plugincludestring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[PLUGINCONTS]", plugincludestring)
# do scripts\bpydata\config
cfglist = []
cfgpath = "%s%s" % (inst_dir, "\\.blender\\scripts\\bpydata\\config")
cfgdir = os.listdir(cfgpath)
for cfgitem in cfgdir:
cfgfile = "%s\\%s" % (cfgpath, cfgitem)
if os.path.isdir(cfgfile) == 0:
cfglist.append("File \"%s\"" % cfgfile)
cfgstring = string.join(cfglist, "\n ")
cfgstring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[SCRIPTDATACFGCONTS]", cfgstring)
# do dotblender
dotblendlist = []
dotblenddir = os.listdir(inst_dir+"\\.blender")
for dotblenditem in dotblenddir:
if os.path.isdir(inst_dir + "\\.blender\\" + dotblenditem) == 0:
dotblendlist.append("File \"" + os.path.normpath(inst_dir) + "\\.blender\\" +
dotblenditem+"\"")
dotblendstring = string.join(dotblendlist, "\n ")
dotblendstring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[DOTBLENDERCONTS]", dotblendstring)
# do language files
langlist = []
langfiles = []
langdir = os.listdir(inst_dir + "\\.blender\\locale")
for langitem in langdir:
if os.path.isdir(inst_dir + "\\.blender\\locale\\" + langitem) == 1:
langfiles.append("SetOutPath $BLENDERHOME\\.blender\\locale\\" + langitem + "\\LC_MESSAGES")
langfiles.append("File \"" + os.path.normpath(inst_dir) + "\\.blender\\locale\\"
+ langitem + "\\LC_MESSAGES\\blender.mo\"")
langstring = string.join(langfiles, "\n ")
langstring += "\n\n"
ns_cnt = string.replace(ns_cnt, "[LANGUAGECONTS]", langstring)
# var replacements
ns_cnt = string.replace(ns_cnt, "DISTDIR", os.path.normpath(inst_dir+"\\"))
ns_cnt = string.replace(ns_cnt, "SHORTVER", shortver)
ns_cnt = string.replace(ns_cnt, "VERSION", version)
ns_cnt = string.replace(ns_cnt, "RELDIR", os.path.normpath(rel_dir))
# Setup vcredist part
vcredist = "File \""+env['BF_VCREDIST'] + "\"\n"
vcredist += " ExecWait '\"$TEMP\\" + os.path.basename(env['BF_VCREDIST']) + "\" /q'\n"
vcredist += " Delete \"$TEMP\\" + os.path.basename(env['BF_VCREDIST'])+"\""
ns_cnt = string.replace(ns_cnt, "[VCREDIST]", vcredist)
tmpnsi = os.path.normpath(install_base_dir+os.sep+env['BF_BUILDDIR']+os.sep+"00.blender_tmp.nsi")
new_nsis = open(tmpnsi, 'w')
new_nsis.write(ns_cnt)
new_nsis.close()
print "Preparing nsis file looks ok\n"
print "NSIS Installer script created"
os.chdir(start_dir)
print "try to launch 'makensis' ...make sure it is on the path \n"
print "Launching 'makensis'"
cmdline = "makensis " + "\""+tmpnsi+"\""

View File

@@ -1,7 +1,4 @@
#coments are #JB where this file was altered by Jasen Betts
# email: 'n@tres'.join(['jase','hna.com'])
"""tools.crossmingw
"""SCons.Tool.gcc
Tool-specific initialization for MinGW (http://www.mingw.org/)
@@ -12,7 +9,7 @@ selection method.
"""
#
# Copyright (c) 2001, 2002, 2003, 2004 The SCons Foundation
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 The SCons Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -34,7 +31,7 @@ selection method.
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
__revision__ = "/home/scons/scons/branch.0/branch.96/baseline/src/engine/SCons/Tool/mingw.py 0.96.91.D001 2005/09/08 09:14:36 knight"
__revision__ = "src/engine/SCons/Tool/mingw.py 4043 2009/02/23 09:06:45 scons"
import os
import os.path
@@ -42,6 +39,7 @@ import string
import SCons.Action
import SCons.Builder
import SCons.Defaults
import SCons.Tool
import SCons.Util
@@ -52,6 +50,7 @@ prefixes = SCons.Util.Split("""
i486-mingw32msvc-
i586-mingw32msvc-
i686-mingw32msvc-
i686-pc-mingw32-
""")
def find(env):
@@ -63,18 +62,20 @@ def find(env):
return ''
def shlib_generator(target, source, env, for_signature):
cmd = SCons.Util.CLVar(['$SHLINK', '$SHLINKFLAGS'])
cmd = SCons.Util.CLVar(['$SHLINK'])
dll = env.FindIxes(target, 'SHLIBPREFIX', 'SHLIBSUFFIX')
if dll: cmd.extend(['-o', dll])
cmd.extend(['$SOURCES', '$_LIBDIRFLAGS', '$_LIBFLAGS'])
cmd.extend(['$SOURCES', '$SHLINKFLAGS', '$_LIBDIRFLAGS', '$_LIBFLAGS'])
implib = env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX')
if implib: cmd.append('-Wl,--out-implib,'+implib.get_string(for_signature))
def_target = env.FindIxes(target, 'WIN32DEFPREFIX', 'WIN32DEFSUFFIX')
if def_target: cmd.append('-Wl,--output-def,'+def_target.get_string(for_signature))
def_target = env.FindIxes(target, 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
insert_def = env.subst("$WINDOWS_INSERT_DEF")
if not insert_def in ['', '0', 0] and def_target: \
cmd.append('-Wl,--output-def,'+def_target.get_string(for_signature))
return [cmd]
@@ -89,7 +90,7 @@ def shlib_emitter(target, source, env):
not env.FindIxes(target, 'LIBPREFIX', 'LIBSUFFIX'):
# Append an import library to the list of targets.
target.append(env.ReplaceIxes(dll,
target.append(env.ReplaceIxes(dll,
'SHLIBPREFIX', 'SHLIBSUFFIX',
'LIBPREFIX', 'LIBSUFFIX'))
@@ -97,76 +98,64 @@ def shlib_emitter(target, source, env):
# or a def file source. There is no option to disable def file
# target emitting, because I can't figure out why someone would ever
# want to turn it off.
def_source = env.FindIxes(source, 'WIN32DEFPREFIX', 'WIN32DEFSUFFIX')
def_target = env.FindIxes(target, 'WIN32DEFPREFIX', 'WIN32DEFSUFFIX')
def_source = env.FindIxes(source, 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
def_target = env.FindIxes(target, 'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX')
if not def_source and not def_target:
target.append(env.ReplaceIxes(dll,
target.append(env.ReplaceIxes(dll,
'SHLIBPREFIX', 'SHLIBSUFFIX',
'WIN32DEFPREFIX', 'WIN32DEFSUFFIX'))
'WINDOWSDEFPREFIX', 'WINDOWSDEFSUFFIX'))
return (target, source)
#JB """ I'm blindly susbstuting lines from the mingw.py
#JB file becase these lines cause python errors here. """
#JB shlib_action = SCons.Action.Action(shlib_generator,generator=1)
shlib_action = SCons.Action.CommandGeneratorAction(shlib_generator)
shlib_action = SCons.Action.Action(shlib_generator, generator=1)
res_action = SCons.Action.Action('$RCCOM', '$RCCOMSTR')
#JB """ changed for what was in mingw.py """
#JB res_builder = SCons.Builder.Builder(action=res_action, suffix='.o',
#JB source_scanner=SCons.Tool.SourceFileScanner)
res_builder = SCons.Builder.Builder(action='$RCCOM', suffix='.o',
source_scanner=SCons.Defaults.ObjSourceScan)
#JB SCons.Tool.SourceFileScanner.add_scanner('.rc', SCons.Defaults.CScan)
SCons.Defaults.ObjSourceScan.add_scanner('.rc', SCons.Defaults.CScan)
#JB """ no more changes """
res_builder = SCons.Builder.Builder(action=res_action, suffix='.o',
source_scanner=SCons.Tool.SourceFileScanner)
SCons.Tool.SourceFileScanner.add_scanner('.rc', SCons.Defaults.CScan)
def generate(env):
mingw_prefix = find(env)
if mingw_prefix:
dir = os.path.dirname(env.WhereIs(mingw_prefix + 'gcc') or SCons.Util.WhereIs(mingw_prefix + 'gcc'))
# The mingw bin directory must be added to the path:
path = env['ENV'].get('PATH', [])
if not path:
path = []
if SCons.Util.is_String(path):
path = string.split(path, os.pathsep)
env['ENV']['PATH'] = string.join([dir] + path, os.pathsep)
mingw = find(env)
if mingw:
dir = os.path.dirname(mingw)
env.PrependENVPath('PATH', dir )
# Most of mingw is the same as gcc and friends...
gnu_tools = ['gcc', 'g++', 'gnulink', 'ar', 'gas']
gnu_tools = ['gcc', 'g++', 'gnulink', 'ar', 'gas', 'm4']
for tool in gnu_tools:
SCons.Tool.Tool(tool)(env)
#... but a few things differ:
env['CC'] = mingw_prefix + 'gcc'
env['CC'] = mingw + 'gcc'
env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS')
env['CXX'] = mingw_prefix + 'g++'
env['CXX'] = mingw + 'g++'
env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS')
env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared')
env['SHLINKCOM'] = shlib_action
env['AR'] = mingw_prefix + 'ar'
env['RANLIB'] = mingw_prefix + 'ranlib'
env['LDMODULECOM'] = shlib_action
env.Append(SHLIBEMITTER = [shlib_emitter])
env['LINK'] = mingw_prefix + 'gcc'
env['AS'] = mingw_prefix + 'as'
env['RANLIB'] = mingw + 'ranlib'
env['LINK'] = mingw + 'gcc'
env['AS'] = mingw + 'as'
env['AR'] = mingw + 'ar'
env['WIN32DEFPREFIX'] = ''
env['WIN32DEFSUFFIX'] = '.def'
env['WINDOWSDEFPREFIX'] = '${WIN32DEFPREFIX}'
env['WINDOWSDEFSUFFIX'] = '${WIN32DEFSUFFIX}'
env['SHOBJSUFFIX'] = '.o'
env['STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME'] = 1
env['RC'] = mingw_prefix + 'windres'
env['RC'] = mingw + 'windres'
env['RCFLAGS'] = SCons.Util.CLVar('')
env['RCINCFLAGS'] = '$( ${_concat(RCINCPREFIX, CPPPATH, RCINCSUFFIX, __env__, RDirs, TARGET)} $)'
env['RCINCFLAGS'] = '$( ${_concat(RCINCPREFIX, CPPPATH, RCINCSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)'
env['RCINCPREFIX'] = '--include-dir '
env['RCINCSUFFIX'] = ''
env['RCCOM'] = '$RC $RCINCFLAGS $RCINCPREFIX $SOURCE.dir $RCFLAGS -i $SOURCE -o $TARGET'
env['RCCOM'] = '$RC $_CPPDEFFLAGS $RCINCFLAGS ${RCINCPREFIX} ${SOURCE.dir} $RCFLAGS -i $SOURCE -o $TARGET'
env['BUILDERS']['RES'] = res_builder
# Some setting from the platform also have to be overridden:
@@ -187,3 +176,9 @@ def generate(env):
def exists(env):
return find(env)
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=4 shiftwidth=4:

View File

@@ -132,9 +132,9 @@ $Id$
The commandline can be used to override detected/default settings, e.g:
On Unix:
cmake -D PYTHON_LIB=/usr/local/lib/python2.3/config/libpython2.3.so -D PYTHON_INC=/usr/local/include/python2.3 -D PYTHON_BINARY=/usr/local/bin/python2.3 -G "Unix Makefiles" ../blender
cmake -D PYTHON_LIB=/usr/local/lib/python3.1/config/libpython3.1.so -D PYTHON_INC=/usr/local/include/python3.1 -G "Unix Makefiles" ../blender
On Macs:
cmake -D PYTHON_INC=/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -D PYTHON_LIBPATH=/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config -D PYTHON_BINARY=/System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5 -G Xcode ../blender
cmake -D PYTHON_INC=/System/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1 -G Xcode ../blender
Mote that this should only be needed once per build directory generation because it will keep the overrides in CMakeCache.txt for subsequent runs.

View File

@@ -20,7 +20,7 @@ $Id$
with the patch to get started.
This document describes the usage of the new SCons scripts. The
inner workings are described in blender-scons-dev.txt.
inner workings are described in scons-dev.txt.
Building Blender
----------------

View File

@@ -0,0 +1,170 @@
Simple Blender Python Developer's Guide
---------------------------------------
This is an outline for a future guide yet to be written. It is meant for
programmers wanting to understand and maybe help with the embedding of Python
inside Blender.
I - Introduction
We could praise Python here for its many qualities, but it's probably better
to just give some links:
The main site is at www.python.org , with documentation at www.python.org/doc/
Also worth of mention: it's an interpreted language and is available for
many different systems. The download includes the interpreter, many modules
(think libs), good documentation and some programs / examples. If you use
linux, there's a high chance you already have Python installed, just try
"man python".
The reason for embedding a language environment inside Blender is to give
users the ability to access the program's internal data and functionality.
This can be used to import / export (from / to other 2d / 3d formats) or
change the data (to create new objects procedurally, among many other
interesting possibilities). Script writers (Blender Python programmers) can
also expand Blender in new ways, adding new features on-the-fly, without having
to recompile it. It is usually much easier and faster to write scripts in
Python than to code the equivalent in C.
II - Reference material:
There are two important texts for us in the documentation that comes
with Python ( docs also available online at www.python.org ):
- Extending and Embedding (tutorial for C/C++ programmers)
and specially
- Python/C API.
You can read the first one to get a feel for how things are done
(reference counting is probably the most important part), but the second
doc is a must. Specially useful as a fast reference is its Index, at letter
P, where all commands are.
Specially useful commands are Py_BuildValue and the family of parsing
functions, PyArg_Parse* (PyArg_Parse(), PyArg_ParseTuple(),
PyArg_ParseTupleAndKeywords()). Py_BuildValue is usually the best way to make
Python Objects (the 'variables' that the Python Interpreter understands)
out of C ones. The PyArg_Parse* functions do the opposite, they parse
Python Objects to C variables.
So, understand PyArg_Parse* functions, Py_BuildValue and reference
counting. The first doc has a good discussion about them.
- C knowledge is also necessary, of course, use your favorite resource.
- The Blender 2.25 API documentation ( www.blender.org ) is, along with
the source, our basic API ref.
III - Directories
The previous Blender Python API's are spread in blender/intern/python
and the C part of the current one, bpython, is at
blender/source/blender/bpython/, specially in intern/. The current
solution is a Python wrapper on top of this bpython one, at
blender/intern/python/modules/Blender/
Note: since it's in Python, they needed the freeze Python utility, a
process/program that creates stand-alone executables out of Python
source files -- that is, it packs together an interpreter, the needed
modules and the source of a Python program so that users of this program
don't need to have the Python interpreter already installed in their
machines to run the program -- Blender, in this case.
The new implementation is pure C, so we won't need to "freeze" it.
Another important dir for starters is blender/source/blender/makesdna,
where the headers with Blender structs lie.
IV - Experimental Python
The new implementation, currently referred to as experimental python -
exppython - was started by Michel Selten. He chose to solve the mess in
Blender Python by starting over from scratch, in C, but keeping API
compatibility with the current 2.25 API used by Blender.
It is in blender/source/blender/python , more specifically inside
api2_2x/
To make it clear, exppython is the new implementation being worked on. It
will possibly become the de-facto implementation in Blender 2.28, the next
Blender version. Currently, Blender still comes with the same implementation
found in the 2.25 version of the program. So we call that the 2.25
implementation, or bpython.
BPython had plenty of "macro magic", lot's of complicate #define's, etc.,
since a lot of the embedding work is quite repetitive. But that makes it
much harder for newbies to jump in and learn, so the new files in exppython
avoid that.
This means: Blender, Object, Camera, Lamp, Image, Text, Window modules
(the files have the same names, ending obviously with .c and .h)
To speed things up, some independent parts of bpython are being
integrated directly into exppython. That already happened with Draw and
BGL, both taken from opy_draw.c in the bpython/intern dir. The same is
happening with NMesh (Mesh is written in Python and imports NMesh to
extend / change its functionality).
For a good example of dexterity with macros (cheers to the NaN
programmer(s)!), look at BGL.[ch], the OpenGL API wrapper. The defines
are in the header.
Besides keeping compatibility with the 2.25 API, there are already some
additions to exppython:
- some modules have access to more variables than 2.25 had;
- there are more method functions and the access is safer;
- the file selector (or file browser, if you prefer) is back:
It's now in the Window module, along with an image selector, too.
- there are totally new modules, unavailable in 2.25:
Fellow new developers joining our team are contributing new modules
that have been requested by the community for a long time.
V - Coding
The Camera module is a good reference, since it is like most others, in
terms of programming, but is smaller and simple. It's in Camera.c and
Camera.h . To have it working, it was also necessary to include a line to
the end of Blender.c (registering it as a Blender submodule) and another to
modules.h (declaring its init and CreateObject method)
Currently, one of our conventions is to prepend M_ to module functions,
doc strings, etc. and C_ to the new types we had to create for Python,
like C_Camera, C_Lamp, etc.
If you look at Camera.[ch], you'll find code for creating the Camera
module and the Camera "type", with all its methods and access policies.
It's really a new type defined in Python, like PyInt or PyFloat,
PyString, etc. In practice, it's a "thin" (because it doesn't make
copies of the variables) wrapper for the Blender Camera Data Object.
A note about Blender: objects in Blender share a common base, the
Object, whose attributes are things like the matrix, the location, the
rotation, the size, etc. A Camera is actually an Object of type Camera
(which means that its "data" field points to a Camera Data obj) and a
Camera Data object, which is the specific camera part of the object
(attributes like lens, clip start, etc.). Same for other objects, like
Lamp, Mesh, etc.
That's why C_Camera is a wrapper for the Blender Camera **Data**
object. The full wrapper is Object("Camera") linked with
Camera("camera_name").
How to write a new module for a simple object? Use Camera.[ch] as
templates, check the specifics of your object in the makesdna dir
(for example, the camera one is DNA_camera_types.h) and make the
necessary changes.
If you want to help exppython and in the process possibly learn more about
embedding, the Python/C API and Blender internals, there's this mailing list:
Bf-python mailing list
Bf-python@blender.org
http://www.blender.org/mailman/listinfo/bf-python
There you can ask what hasn't been done yet, get help, make suggestions for
new features we should consider, send bug reports, etc.

View File

@@ -32,4 +32,4 @@ license@blender.org for further information.
Ton Roosendaal
Chairman Blender Foundation.
June 2005
June 2005

View File

@@ -305,7 +305,7 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.

View File

@@ -1390,4 +1390,4 @@ Radoslav Dejanovic
James H. Cloos, Jr.
Karl Erlandsen (LethalSideParting)
Kari Pulli
Dave Shemano
Dave Shemano

340
doc/manpage/blender.1 Normal file
View File

@@ -0,0 +1,340 @@
.TH "BLENDER" "1" "July 15, 2010" "Blender Blender 2\&.52 (sub 5) "
.SH NAME
blender \- a 3D modelling and rendering package
.SH SYNOPSIS
.B blender [args ...] [file] [args ...]
.br
.SH DESCRIPTION
.PP
.B blender
is a 3D modelling and rendering package. It is the in-house software of a high quality animation studio, Blender has proven to be an extremely fast and versatile design instrument. The software has a personal touch, offering a unique approach to the world of Three Dimensions.
Use Blender to create TV commercials, to make technical visualizations, business graphics, to do some morphing, or design user interfaces. You can easy build and manage complex environments. The renderer is versatile and extremely fast. All basic animation principles (curves & keys) are well implemented.
http://www.blender.org
.SH OPTIONS
Blender 2.52 (sub 5) Build
Usage: blender [args ...] [file] [args ...]
.br
.SS "Render Options:"
.TP
.B \-b or \-\-background <file>
.br
Load <file> in background (often used for UI\-less rendering)
.br
.TP
.B \-a or \-\-render\-anim
.br
Render frames from start to end (inclusive)
.br
.TP
.B \-S or \-\-scene <name>
.br
Set the active scene <name> for rendering
.br
.TP
.B \-f or \-\-render\-frame <frame>
.br
Render frame <frame> and save it.
.br
+<frame> start frame relative, \-<frame> end frame relative.
.br
.TP
.B \-s or \-\-frame\-start <frame>
.br
Set start to frame <frame> (use before the \-a argument)
.br
.TP
.B \-e or \-\-frame\-end <frame>
.br
Set end to frame <frame> (use before the \-a argument)
.br
.TP
.B \-j or \-\-frame\-jump <frames>
.br
Set number of frames to step forward after each rendered frame
.br
.TP
.B \-o or \-\-render\-output <path>
.br
Set the render path and file name.
.br
Use // at the start of the path to
.br
render relative to the blend file.
.br
The # characters are replaced by the frame number, and used to define zero padding.
.br
ani_##_test.png becomes ani_01_test.png
.br
test\-######.png becomes test\-000001.png
.br
When the filename does not contain #, The suffix #### is added to the filename
.br
The frame number will be added at the end of the filename.
.br
eg: blender \-b foobar.blend \-o //render_ \-F PNG \-x 1 \-a
.br
//render_ becomes //render_####, writing frames as //render_0001.png//
.br
.TP
.B \-E or \-\-engine <engine>
.br
Specify the render engine
.br
use \-E help to list available engines
.br
.IP
.SS "Format Options:"
.TP
.B \-F or \-\-render\-format <format>
.br
Set the render format, Valid options are...
.br
TGA IRIS JPEG MOVIE IRIZ RAWTGA
.br
AVIRAW AVIJPEG PNG BMP FRAMESERVER
.br
(formats that can be compiled into blender, not available on all systems)
.br
HDR TIFF EXR MULTILAYER MPEG AVICODEC QUICKTIME CINEON DPX DDS
.br
.TP
.B \-x or \-\-use\-extension <bool>
.br
Set option to add the file extension to the end of the file
.br
.TP
.B \-t or \-\-threads <threads>
.br
Use amount of <threads> for rendering in background
.br
[1\-BLENDER_MAX_THREADS], 0 for systems processor count.
.br
.IP
.SS "Animation Playback Options:"
.TP
.B \-a <options> <file(s)>
.br
Playback <file(s)>, only operates this way when not running in background.
.br
\-p <sx> <sy> Open with lower left corner at <sx>, <sy>
.br
\-m Read from disk (Don't buffer)
.br
\-f <fps> <fps\-base> Specify FPS to start with
.br
\-j <frame> Set frame step to <frame>
.br
.IP
.SS "Window Options:"
.TP
.B \-w or \-\-window\-border
.br
Force opening with borders (default)
.br
.TP
.B \-W or \-\-window\-borderless
.br
Force opening with without borders
.br
.TP
.B \-p or \-\-window\-geometry <sx> <sy> <w> <h>
.br
Open with lower left corner at <sx>, <sy> and width and height as <w>, <h>
.br
.IP
.SS "Game Engine Specific Options:"
.TP
.B \-g Game Engine specific options
.br
\-g fixedtime Run on 50 hertz without dropping frames
.br
\-g vertexarrays Use Vertex Arrays for rendering (usually faster)
.br
\-g nomipmap No Texture Mipmapping
.br
\-g linearmipmap Linear Texture Mipmapping instead of Nearest (default)
.br
.IP
.SS "Misc Options:"
.TP
.B \-d or \-\-debug
.br
Turn debugging on
.br
.IP
* Prints every operator call and their arguments
.br
* Disables mouse grab (to interact with a debugger in some cases)
.br
* Keeps python sys.stdin rather then setting it to None
.br
.TP
.B \-\-debug\-fpe
.br
Enable floating point exceptions
.br
.IP
.TP
.B \-nojoystick
.br
Disable joystick support
.br
.TP
.B \-noglsl
.br
Disable GLSL shading
.br
.TP
.B \-noaudio
.br
Force sound system to None
.br
.TP
.B \-setaudio
.br
Force sound system to a specific device
.br
NULL SDL OPENAL JACK
.br
.IP
.TP
.B \-h or \-\-help
.br
Print this help text and exit
.br
.IP
.TP
.B \-y or \-\-enable\-autoexec
.br
Enable automatic python script execution (default)
.br
.TP
.B \-Y or \-\-disable\-autoexec
.br
Disable automatic python script execution (pydrivers, pyconstraints, pynodes)
.br
.IP
.TP
.B \-P or \-\-python <filename>
.br
Run the given Python script (filename or Blender Text)
.br
.TP
.B \-\-python\-console
.br
Run blender with an interactive console
.br
.TP
.B \-v or \-\-version
.br
Print Blender version and exit
.br
.TP
.B \-\-
.br
Ends option processing, following arguments passed unchanged. Access via python's sys.argv
.br
.SS "Other Options:"
.TP
.B /?
.br
Print this help text and exit (windows only)
.br
.TP
.B \-R
.br
Register .blend extension (windows only)
.br
.SS "Argument Parsing:"
arguments must be separated by white space. eg
"blender \-ba test.blend"
...will ignore the 'a'
"blender \-b test.blend \-f8"
...will ignore 8 because there is no space between the \-f and the frame value
.br
.SS "Argument Order:"
Arguments are executed in the order they are given. eg
"blender \-\-background test.blend \-\-render\-frame 1 \-\-render\-output /tmp"
...will not render to /tmp because '\-\-render\-frame 1' renders before the output path is set
"blender \-\-background \-\-render\-output /tmp test.blend \-\-render\-frame 1"
...will not render to /tmp because loading the blend file overwrites the render output that was set
"blender \-\-background test.blend \-\-render\-output /tmp \-\-render\-frame 1" works as expected.
.br
.br
.SH "ENVIRONMENT VARIABLES"
\fIBLENDER_USER_CONFIG\fR Directory for user configuration files.
\fIBLENDER_SYSTEM_CONFIG\fR Directory for system wide configuration files.
\fIBLENDER_USER_SCRIPTS\fR Directory for user scripts.
\fIBLENDER_SYSTEM_SCRIPTS\fR Directory for system wide scripts.
\fIBLENDER_USER_DATAFILES\fR Directory for user data files (icons, translations, ..).
\fIBLENDER_SYSTEM_DATAFILES\fR Directory for system wide data files.
\fIBLENDER_SYSTEM_PYTHON\fR Directory for system python libraries.
\fITMP\fR or \fITMPDIR\fR Store temporary files here.
\fIPYTHONHOME\fR Path to the python directory, eg. /usr/lib/python.
.br
.br
.br
.SH SEE ALSO
.B yafaray(1)
.br
.SH AUTHORS
This manpage was written for a Debian GNU/Linux system by Daniel Mester
<mester@uni-bremen.de> and updated by Cyril Brulebois
<cyril.brulebois@enst-bretagne.fr> and Dan Eicher <dan@trollwerks.org>.

136
doc/manpage/blender.1.py Normal file
View File

@@ -0,0 +1,136 @@
#!/usr/bin/python
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####
# <pep8 compliant>
import subprocess
import os
import time
import datetime
def man_format(data):
data = data.replace("-", "\\-")
data = data.replace("\t", " ")
# data = data.replace("$", "\\fI")
data_ls = []
for w in data.split():
if w.startswith("$"):
w = "\\fI" + w[1:] + "\\fR"
data_ls.append(w)
data = data[:len(data) - len(data.lstrip())] + " ".join(data_ls)
return data
blender_bin = os.path.join(os.path.dirname(__file__), "../../blender")
blender_help = subprocess.Popen([blender_bin, "--help"], stdout=subprocess.PIPE).communicate()[0].decode()
blender_version = subprocess.Popen([blender_bin, "--version"], stdout=subprocess.PIPE).communicate()[0].decode().strip()
blender_version = blender_version.split("Build")[0]
date_string = datetime.date.fromtimestamp(time.time()).strftime("%B %d, %Y")
filepath = os.path.splitext(__file__)[0]
file = open(filepath, "w")
fw = file.write
fw('.TH "BLENDER" "1" "%s" "Blender %s"\n' % (date_string, blender_version.replace(".", "\\&.")))
fw('''
.SH NAME
blender \- a 3D modelling and rendering package''')
fw('''
.SH SYNOPSIS
.B blender [args ...] [file] [args ...]''')
fw('''
.br
.SH DESCRIPTION
.PP
.B blender
is a 3D modelling and rendering package. It is the in-house software of a high quality animation studio, Blender has proven to be an extremely fast and versatile design instrument. The software has a personal touch, offering a unique approach to the world of Three Dimensions.
Use Blender to create TV commercials, to make technical visualizations, business graphics, to do some morphing, or design user interfaces. You can easy build and manage complex environments. The renderer is versatile and extremely fast. All basic animation principles (curves & keys) are well implemented.
http://www.blender.org''')
fw('''
.SH OPTIONS''')
fw("\n\n")
lines = [line.rstrip() for line in blender_help.split("\n")]
while lines:
l = lines.pop(0)
if l.startswith("Environment Variables:"):
fw('.SH "ENVIRONMENT VARIABLES"\n')
elif l.endswith(":"): # one line
fw('.SS "%s"\n\n' % l)
elif l.startswith("-") or l.startswith("/"): # can be multi line
fw('.TP\n')
fw('.B %s\n' % man_format(l))
while lines:
# line with no
if lines[0].strip() and len(lines[0].lstrip()) == len(lines[0]): # no white space
break
if not l: # second blank line
fw('.IP\n')
else:
fw('.br\n')
l = lines.pop(0)
l = l[1:] # remove first whitespace (tab)
fw('%s\n' % man_format(l))
else:
if not l.strip():
fw('.br\n')
else:
fw('%s\n' % man_format(l))
# footer
fw('''
.br
.SH SEE ALSO
.B yafaray(1)
.br
.SH AUTHORS
This manpage was written for a Debian GNU/Linux system by Daniel Mester
<mester@uni-bremen.de> and updated by Cyril Brulebois
<cyril.brulebois@enst-bretagne.fr> and Dan Eicher <dan@trollwerks.org>.
''')
print("written:", filepath)

View File

@@ -0,0 +1,201 @@
{%- block doctype -%}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{%- endblock %}
{%- set script_files = script_files + [pathto("_static/jquery.sidebar.js", 1)] %}
{%- set reldelim1 = reldelim1 is not defined and ' &raquo;' or reldelim1 %}
{%- set reldelim2 = reldelim2 is not defined and ' •' or reldelim2 %}
{%- macro relbar() %}
<div class="subnav boxheader">
<ul class="noprint"><li><a href="http://www.blender.org/development/coding-guides/">Coding Guides</a></li><li></li><li><a href="http://www.blender.org/development/report-a-bug/">Report a Bug</a></li><li></li><li><a href="http://www.blender.org/development/submit-a-patch/">Submit a Patch</a></li><li></li><li><a href="http://www.blender.org/development/release-logs/">Release Logs</a></li><li></li><li><a href="http://www.blender.org/development/current-projects/">Current Projects</a></li><li></li><li><a href="http://www.blender.org/development/architecture/">Architecture</a></li><li></li><li><a href="http://www.blender.org/development/building-blender/">Building Blender</a></li><li></li><li class="subnav-active"><a href="http://www.blender.org/documentation/250PythonDoc/contents.html">PyAPI</a></li><li></li><li><a href="http://wiki.blender.org/index.php/Main_Page">Wiki</a></li></ul>
</div>
<div class="related subnav">
<h3>{{ _('Navigation') }}</h3>
<ul>
{%- for rellink in rellinks %}
<li class="right">
<a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags }}"
{{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
{%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
{%- endfor %}
{%- block rootrellink %}
<li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
{%- endblock %}
{%- for parent in parents %}
<li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>{{ reldelim1 }}</li>
{%- endfor %}
{%- block relbaritems %} {% endblock %}
</ul>
</div>
{%- endmacro %}
{%- macro sidebar() %}
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
{%- block sidebarlogo %}
{%- if logo %}
<p class="logo"><a href="{{ pathto(master_doc) }}">
<img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
</a></p>
{%- endif %}
{%- endblock %}
{%- block sidebartoc %}
{%- if display_toc %}
<h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
{{ toc }}
{%- endif %}
{%- endblock %}
{%- block sidebarrel %}
{%- if prev %}
<h4>{{ _('Previous topic') }}</h4>
<p class="topless"><a href="{{ prev.link|e }}"
title="{{ _('previous chapter') }}">{{ prev.title }}</a></p>
{%- endif %}
{%- if next %}
<h4>{{ _('Next topic') }}</h4>
<p class="topless"><a href="{{ next.link|e }}"
title="{{ _('next chapter') }}">{{ next.title }}</a></p>
{%- endif %}
{%- endblock %}
{%- block sidebarsourcelink %}
{%- if show_source and has_source and sourcename %}
<h3>{{ _('This Page') }}</h3>
<ul class="this-page-menu">
<li><a href="{{ pathto('_sources/' + sourcename, true)|e }}"
rel="nofollow">{{ _('Show Source') }}</a></li>
</ul>
{%- endif %}
{%- endblock %}
{%- if customsidebar %}
{% include customsidebar %}
{%- endif %}
{%- block sidebarsearch %}
{%- if pagename != "search" %}
<div id="searchbox" style="display: none">
<h3>{{ _('Quick search') }}</h3>
<form class="search" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="{{ _('Go') }}" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip">
{{ _('Enter search terms or a module, class or function name.') }}
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
{%- endif %}
{%- endblock %}
</div>
</div>
{%- endif %}{% endif %}
{%- endmacro %}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
{{ metatags }}
{%- if not embedded and docstitle %}
{%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
{%- else %}
{%- set titlesuffix = "" %}
{%- endif %}
<title>{{ title|striptags }}{{ titlesuffix }}</title>
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
{%- if not embedded %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '{{ pathto("", 1) }}',
VERSION: '{{ release|e }}',
COLLAPSE_MODINDEX: false,
FILE_SUFFIX: '{{ file_suffix }}',
HAS_SOURCE: {{ has_source|lower }}
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{%- if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml"
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{%- endif %}
{%- if favicon %}
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
{%- endif %}
{%- endif %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
{%- endif %}
{%- if hasdoc('genindex') %}
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
{%- endif %}
{%- if hasdoc('search') %}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
{%- endif %}
{%- if hasdoc('copyright') %}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
{%- endif %}
<link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
{%- if parents %}
<link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" />
{%- endif %}
{%- if next %}
<link rel="next" title="{{ next.title|striptags }}" href="{{ next.link|e }}" />
{%- endif %}
{%- if prev %}
<link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" />
{%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
</head>
<body>
{%- block header %}
<div class="noprint" id="navcontainer"><a href="http://www.blender.org/"><img width="140" height="50" title="blender.org home page" alt="blender.org home page" src="http://www.blender.org/fileadmin/site/_gfx/nav-home.png"></a><a href="http://www.blender.org/features-gallery/"><img width="140" height="50" title="Features &amp; Gallery" alt="Features &amp; Gallery" src="http://www.blender.org/fileadmin/site/_gfx/nav-features.png"></a><a href="http://www.blender.org/download/get-blender/"><img width="140" height="50" title="Download" alt="Download" src="http://www.blender.org/fileadmin/site/_gfx/nav-download.png"></a><a href="http://www.blender.org/education-help/"><img width="140" height="50" title="Tutorials &amp; Help" alt="Tutorials &amp; Help" src="http://www.blender.org/fileadmin/site/_gfx/nav-help.png"></a><a href="http://www.blender.org/community/user-community/"><img width="140" height="50" title="Community" alt="Community" src="http://www.blender.org/fileadmin/site/_gfx/nav-community.png"></a><a href="http://www.blender.org/development/"><img width="140" height="50" title="Development" alt="Development" src="http://www.blender.org/fileadmin/site/_gfx/nav-development-on.png"></a><a href="http://www.blender.org/e-shop/"><img width="140" height="50" title="e-Shop" alt="e-Shop" src="http://www.blender.org/fileadmin/site/_gfx/nav-eshop.png"></a></div>
{% endblock %}
<div class="document">
<div id="pageheader"></div>
{%- block relbar1 %}{{ relbar() }}{% endblock %}
{%- block sidebar1 %} {# possible location for sidebar #} {% endblock %}
{%- block document %}
<div class="documentwrapper">
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
<div class="bodywrapper">
{%- endif %}{% endif %}
<div class="body">
{% block body %} {% endblock %}
</div>
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
</div>
{%- endif %}{% endif %}
</div>
{%- endblock %}
{%- block sidebar2 %}{{ sidebar() }}{% endblock %}
<div class="clearer"></div>
{%- block footer %}
<div class="footer">
{%- if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{%- else %}
{% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
{%- endif %}
{%- if last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
{%- if show_sphinx %}
{% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
{%- endif %}
</div><b class="round"><b id="r1"></b><b id="r2"></b><b id="r3"></b><b id="r4"></b></b>
{%- endblock %}
</div>
</body>
</html>

View File

@@ -0,0 +1,4 @@
{% extends "layout.html" %}
{% block body %}
{{ body }}
{% endblock %}

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -0,0 +1,654 @@
/**
* Sphinx stylesheet -- default theme
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
@import url("basic.css");
/* -- page layout ----------------------------------------------------------- */
#navcontainer {
height: 50px;
margin: 0 auto;
position: relative;
width: 980px;
}
#navcontainer img {
width: 140px;
height: 50px;
}
#pageheader {
background-image:url("bg.png");
height:80px;
position:relative;
}
body {
font-family: {{ theme_bodyfont }};
font-size: 12px;
line-height: 145%;
background-color: {{ theme_footerbgcolor }};
color: {{ theme_textcolor }};
min-width: 980px;
margin: 0;
padding: 0;
}
div.document {
margin:20px auto 0;
position:relative;
text-align:left;
width:980px;
/* background-color: {{ theme_sidebarbgcolor }};*/
}
div.documentwrapper {
float: left;
width: 100%;
background-color: {{ theme_bgcolor }};
border-color: {{ theme_bordercolor }};
border-style:solid;
border-width:0 1px;
margin:0 auto;
min-height:30em;
padding:35px;
/* position:relative;*/
text-align:left;
width:908px;
}
div.bodywrapper {
margin: 0 0 0 230px;
}
div.body {
background-color: {{ theme_bgcolor }};
color: {{ theme_textcolor }};
padding: 0;
width: 640px;
}
{%- if theme_rightsidebar|tobool %}
div.bodywrapper {
margin: 0 230px 0 0;
}
{%- endif %}
div.footer {
background: #292929;
border-left: 1px solid #363636;
border-right: 1px solid #363636;
color: #ffffff;
/* width: 100%;*/
margin: 0 auto;
padding: 20px 20px 15px 35px;
text-align: center;
font-size: 75%;
}
div.footer+.round b {
display: block;
background: #292929;
width: auto;
}
div.footer+.round #r1 {
border-left: 1px solid #363636;
border-right: 1px solid #363636;
height: 2px;
margin: 0 1px;
}
div.footer+.round #r2 {
border-left: 1px solid #363636;
border-right: 1px solid #363636;
height: 1px;
margin: 0 2px;
}
div.footer+.round #r3 {
border-left: 1px solid #363636;
border-right: 1px solid #363636;
height: 1px;
margin: 0 3px;
}
div.footer+.round #r4 {
border-bottom: 1px solid #363636;
height: 0px;
margin: 0 5px;
}
div.footer a {
color: {{ theme_footertextcolor }};
text-decoration: underline;
}
.boxheader {
background-color:#3E4D5E;
}
.subnav {
height:auto !important;
min-height:15px;
padding:9px 0px 9px 37px;
position:relative;
}
div.related {
width:auto;
font-size:100%;
font-weight:400;
background-color: {{ theme_relbarbgcolor }};
line-height: 145%;
color: {{ theme_relbartextcolor }};
}
div.related li {
font-size:0.9em;
}
div.related li.right {
margin: 0;
word-spacing: 3px;
}
div.subnav li {
display:inline;
list-style-type:none;
margin:0;
padding:0 7px 0 0;
}
div.subnav ul {
display:inline;
margin:0;
padding:0;
}
.subnav a {
font-weight: bold;
color: #fff;
}
.subnav li.subnav-active a {
color:#F39410;
}
div.related a {
color: {{ theme_relbarlinkcolor }};
}
div.related a:active {
color: {{ theme_relbaractlinkcolor }};
}
div.sphinxsidebar {
width: 280px;
font-size: 100%;
{%- if theme_stickysidebar|tobool %}
/* top: 30px;*/
margin: 0;
position: absolute;
overflow: auto;
height: 100%;
{%- endif %}
{%- if theme_rightsidebar|tobool %}
float: right;
{%- if theme_stickysidebar|tobool %}
right: 0;
{%- endif %}
{%- endif %}
}
div.sphinxsidebarwrapper {
width: inherit;
padding: 0;
position: absolute;
margin-top: 35px;
font-size: 8pt;
}
div.sphinxsidebarwrapper.fixed {
position:fixed;
top:10px;
margin-top: 0;
}
{%- if theme_stickysidebar|tobool %}
/* this is nice, but it it leads to hidden headings when jumping
to an anchor */
/*
div.related {
position: fixed;
}
div.documentwrapper {
margin-top: 30px;
}
*/
{%- endif %}
div.sphinxsidebar h3 {
font-family: {{ theme_headfont }};
color: {{ theme_sidebartextcolor }};
font-size: 12px;
font-weight: bold;
background: #3E4D5E url("rnd.png") no-repeat top left;
height: 16px;
margin: 0;
padding: 10px 5px 10px 18px;
}
div.sphinxsidebar h3 a {
color: {{ theme_sidebartextcolor }};
}
div.sphinxsidebar h4 {
font-family: {{ theme_headfont }};
color: {{ theme_sidebartextcolor }};
background: #3E4D5E url("rnd.png") no-repeat top left;
height: 16px;
font-size: 12px;
font-weight: bold;
margin: 0;
padding: 10px 5px 10px 18px;
}
div.sphinxsidebar form {
margin: 0;
padding: 10px;
background-color: #292929;
{%- if theme_rightsidebar|tobool %}
border-right: 1px solid {{ theme_bordercolor }};
{%- endif %}
}
div.sphinxsidebar p {
background-color: #292929;
padding: 5px 10px 10px 10px;
color: {{ theme_sidebartextcolor }};
{%- if theme_rightsidebar|tobool %}
border-right: 1px solid {{ theme_bordercolor }};
{%- endif %}
margin-top: 0;
}
div.sphinxsidebar p.topless {
margin-bottom: 25px;
}
div.sphinxsidebar ul {
background-color: #292929;
margin: 0;
padding: 0;
color: {{ theme_sidebartextcolor }};
}
div.sphinxsidebar > div > ul {
margin-bottom: 25px;
padding:10px;
}
div.sphinxsidebar a {
color: {{ theme_sidebarlinkcolor }};
}
div.sphinxsidebar input {
border: 1px solid {{ theme_sidebarlinkcolor }};
font-family: sans-serif;
font-size: 1em;
}
/* -- body styles ----------------------------------------------------------- */
a {
color: {{ theme_linkcolor }};
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
/*div.body h1,*/
div.body h2,
div.body h3,
div.body h4,
div.body h5,
div.body h6 {
font-family: {{ theme_headfont }};
background-color: {{ theme_headbgcolor }};
font-weight: bold;
color: {{ theme_headtextcolor }};
/* border-bottom: 1px solid #ccc;*/
margin: 20px -20px 10px -20px;
padding: 3px 0 3px 10px;
}
div.body h1 { margin-top: 0; font-size: 200%;
color:#FFFAE0;
font-family:"Helvetica","Arial",sans-serif;
font-size:34px;
font-weight:normal;
left:32px;
line-height:26px;
margin-top:0;
position:absolute;
top:36px;
}
div.body h2 { font-size: 160%; }
div.body h3 { font-size: 140%; }
div.body h4 { font-size: 120%; }
div.body h5 { font-size: 110%; }
div.body h6 { font-size: 100%; }
a.headerlink {
color: {{ theme_headlinkcolor }};
font-size: 0.8em;
padding: 0 4px 0 4px;
text-decoration: none;
}
h1:hover > a.headerlink {
display:none;
}
a.headerlink:hover {
background-color: {{ theme_headlinkcolor }};
color: white;
}
div.body p, div.body dd, div.body li {
text-align: justify;
line-height: 130%;
}
div.note, div.seealso, div.topic, div.warning {
color:white;
}
div.admonition p.admonition-title + p {
display: inline;
}
div.note {
background-color: #555;
border: 1px solid #ddd;
}
div.seealso {
background-color: #525241;
border: 1px solid #ff6;
}
div.topic {
background-color: #eee;
}
div.warning {
background-color: #B64444;
border: 1px solid #990606;
}
p.admonition-title {
display: inline;
}
p.admonition-title:after {
content: ":";
}
dl div.admonition {
border:medium none;
margin:0;
padding:2px 5px 2px 0;
}
dl.class > dd > div.warning p.admonition-title,
dl.class > dd > div.note p.admonition-title {
display:none;
}
dl.class > dd > div.admonition.warning p,
dl.class > dd > div.admonition.note p {
margin:0;
}
dl.class > dd > div.admonition.warning,
dl.class > dd > div.admonition.note {
margin-bottom:12px;
}
dl div.admonition.note p.admonition-title, dl div.admonition.warning p.admonition-title {
color:inherit;
}
dl div.admonition.warning p {
font-weight:bold;
line-height:150%;
}
dl div.admonition.warning p * {
font-weight:normal;
}
dl div.admonition p.admonition-title {
color:#555555;
display:block;
float:left;
margin:0;
padding-right:12px;
text-align:right;
width:90px;
}
dl div.admonition p.admonition-title+p, dl div.admonition p {
display:block;
margin:0 0 0 102px;
}
dl div.note {
background:none;
color:#E8E481;
}
dl div.warning {
background:none;
color:#FC3030;
}
dl div.seealso {
background:none;
}
dl div.admonition.seealso p+p {
color:#222;
}
dl div.seealso a {
margin-left:-1.3ex;
}
div.admonition.warning pre {
background: #0F0704;
color: #fc3030;
}
div.admonition pre {
margin: 6px 0;
overflow: visible;
white-space: pre-wrap;
}
pre {
padding: 10px;
background-color: #000;
color: #fff;
line-height: normal;
border: 0 solid white;
}
dl.function>dt, dl.method>dt {
text-indent:-118px;
padding-left: 118px;
}
dl.function>dt em, dl.method>dt em {
color: #97b9cf;
}
dl.function>dd em, dl.method>dd em {
color: #97b9cf;
font-weight:bold;
}
dl.function table.field-list tr:first-child td.field-body, dl.method table.field-list tr:first-child td.field-body {
color: #728c96;
}
dl.function>dt em:before, dl.method>dt em:before {
content: " ";
display: block;
}
dl.function>dd>p,dl.method>dd>p,dl.attribute>dd>p,
dl[class]>dd>ol,dl[class]>dd>ul {
color: #999;
}
dl.data>dt {
color:#08C659;
}
dl.data>dd>p {
color:#069643;
}
dl.class>dt {
color: #82a3c7;
}
dl.class>dd>p,dl.class>dd>ol,dl.class>dd>ul {
color: #637b96;
}
dl.function>dt,dl.method>dt,dl.attribute>dt {
color: #fcb100;
}
dl.function>dd>p,dl.method>dd>p,dl.attribute>dd>p,
dl.function>dd>p+ol,dl.method>dd>p+ol,dl.attribute>dd>p+ol,
dl.function>dd>p+ul,dl.method>dd>p+ul,dl.attribute>dd>p+ul {
color: #cb8f00;
}
dl.function>dd>p, dl.method>dd>p, dl.attribute>dd>p {
margin: 0 0 3px 102px;
}
dl.function>dd>p:first-child:before, dl.method>dd>p:first-child:before, dl.attribute>dd>p:first-child:before {
content:"Description:";
color:#555;
font-weight:bold;
font-style:normal;
width:90px;
display:inline-block;
margin-left:-102px;
text-align:right;
padding-right:12px;
}
dt:target, .highlight {
color: #444;
background: #333;
}
.highlight {
background: #E2C788;
}
h1 .highlight {
color:inherit;
background:inherit;
}
dl {
margin-bottom: 25px;
}
dd {
margin: 3px 0 10px 15px;
}
.field-body tt.literal {
font-weight: normal;
}
tt {
background-color: #444;
padding: 0 1px 0 1px;
font-size: 0.95em;
}
.warning tt {
background: #cc6262;
}
.note tt {
background: #444;
}
dl .warning tt {
background:#0F0704;
display:block;
}
dl .note tt {
background:#2C2A1B;
}
table.indextable tr.cap {
background-color: transparent;
}
col.field-name {
width:90px;
}
dd table {
margin-bottom: 0;
}
table.field-list th {
color:#555;
padding:0;
text-align:right;
}
table.field-list td.field-body {
color:#999999;
padding-left:12px;
}
table.field-list td.field-body ul.first {
padding-left:0;
list-style:none;
margin-left:0;
}
dl.function>dd>ol, dl.method>dd>ol, dl.attribute>dd>ol,
dl.function>dd>ul, dl.method>dd>ul, dl.attribute>dd>ul,
dl.function>dd>div[class|="highlight"], dl.method>dd>div[class|="highlight"],
dl.attribute>dd>div[class|="highlight"] {
margin-left:102px;
}
dl.function>dd>ol, dl.method>dd>ol, dl.attribute>dd>ol,
dl.function>dd>ul, dl.method>dd>ul, dl.attribute>dd>ul,
dl.class>dd>ol, dl.class>dd>ul {
padding-left:20px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,26 @@
$(document).ready(function () {
var top = $('.sphinxsidebarwrapper').offset().top - parseFloat($('.sphinxsidebarwrapper').css ('marginTop').replace(/auto/, 0));
var colheight = parseFloat($('.sphinxsidebarwrapper').css('height').replace(/auto/, 0));
$(window).scroll(function (event) {
// what the y position of the scroll is
var y = $(this).scrollTop();
// whether that's below the form
if (y >= top) {
//colheight is checked and according to its vaule the scrolling
//is triggered or not
if (colheight <= window.innerHeight) {
// if so, ad the fixed class
$('.sphinxsidebarwrapper').addClass('fixed');
} else {
// otherwise remove it
$('.sphinxsidebarwrapper').removeClass('fixed');
}
} else {
// otherwise remove it
$('.sphinxsidebarwrapper').removeClass('fixed');
}
});
});

View File

@@ -0,0 +1,61 @@
.hll { background-color: #ffffcc }
.c { color: #7f7f7f; font-style: italic } /* Comment */
.err { border: 1px solid #FF0000 } /* Error */
.k { color: #0088ff; font-weight: bold } /* Keyword */
.o { color: #993399 } /* Operator */
.cm { color: #7f7f7f; font-style: italic } /* Comment.Multiline */
.cp { color: #007020 } /* Comment.Preproc */
.c1 { color: #408090; font-style: italic } /* Comment.Single */
.cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
.gd { color: #A00000 } /* Generic.Deleted */
.ge { font-style: italic } /* Generic.Emph */
.gr { color: #FF0000 } /* Generic.Error */
.gh { color: #000080; font-weight: bold } /* Generic.Heading */
.gi { color: #00A000 } /* Generic.Inserted */
.go { color: #303030 } /* Generic.Output */
.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.gs { font-weight: bold } /* Generic.Strong */
.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.gt { color: #0040D0 } /* Generic.Traceback */
.kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.kn { color: #FFFF32; font-weight: bold } /* Keyword.Namespace */
.kp { color: #007020 } /* Keyword.Pseudo */
.kr { color: #FFFF32; font-weight: bold } /* Keyword.Reserved */
.kt { color: #902000 } /* Keyword.Type */
.m { color: #00BAFF } /* Literal.Number */
.s { color: #B7C274 } /* Literal.String */
.na { color: #4070a0 } /* Name.Attribute */
.nb { color: #007020 } /* Name.Builtin */
.nc { color: #0e84b5; font-weight: bold } /* Name.Class */
.no { color: #60add5 } /* Name.Constant */
.nd { color: #555555; font-weight: bold } /* Name.Decorator */
.ni { color: #d55537; font-weight: bold } /* Name.Entity */
.ne { color: #007020 } /* Name.Exception */
.nf { color: #06287e } /* Name.Function */
.nl { color: #002070; font-weight: bold } /* Name.Label */
.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.nt { color: #062873; font-weight: bold } /* Name.Tag */
.nv { color: #bb60d5 } /* Name.Variable */
.ow { color: #007020; font-weight: bold } /* Operator.Word */
.w { color: #bbbbbb } /* Text.Whitespace */
.mf { color: #00BAFF } /* Literal.Number.Float */
.mh { color: #00BAFF } /* Literal.Number.Hex */
.mi { color: #00BAFF } /* Literal.Number.Integer */
.mo { color: #00BAFF } /* Literal.Number.Oct */
.sb { color: #B7C274 } /* Literal.String.Backtick */
.sc { color: #B7C274 } /* Literal.String.Char */
.sd { color: #B7C274; font-style: italic } /* Literal.String.Doc */
.s2 { color: #B7C274 } /* Literal.String.Double */
.se { color: #B7C274; font-weight: bold } /* Literal.String.Escape */
.sh { color: #B7C274 } /* Literal.String.Heredoc */
.si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
.sx { color: #c65d09 } /* Literal.String.Other */
.sr { color: #235388 } /* Literal.String.Regex */
.s1 { color: #4070a0 } /* Literal.String.Single */
.ss { color: #517918 } /* Literal.String.Symbol */
.bp { color: #007020 } /* Name.Builtin.Pseudo */
.vc { color: #bb60d5 } /* Name.Variable.Class */
.vg { color: #bb60d5 } /* Name.Variable.Global */
.vi { color: #bb60d5 } /* Name.Variable.Instance */
.il { color: #00BAFF } /* Literal.Number.Integer.Long */

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

View File

@@ -0,0 +1,30 @@
[theme]
inherit = basic
stylesheet = default.css
pygments_style = sphinx
[options]
rightsidebar = true
stickysidebar = true
footerbgcolor = #000000
footertextcolor = #ffffff
sidebarbgcolor = #1c4e63
sidebartextcolor = #ffffff
sidebarlinkcolor = #97b9cf
relbarbgcolor = #2C3845
relbartextcolor = #D3E0E9
relbarlinkcolor = #D3E0E9
relbaractlinkcolor = #f39410
bgcolor = #232323
bordercolor = #363636
textcolor = #ffffff
headbgcolor = #232323
headtextcolor = #ffffff
headlinkcolor = #97b9cf
linkcolor = #97b9cf
codebgcolor = #eeffcc
codetextcolor = #333333
bodyfont = "Lucida Grande","Lucida Sans Unicode","Lucida Sans","Lucida",Verdana,sans-serif
headfont = "Lucida Grande","Lucida Sans Unicode","Lucida Sans","Lucida",Verdana,sans-serif

1807
doc/python_api/epy/BGL.py Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,189 @@
# Blender.Geometry module and its subtypes
"""
The Blender.Geometry submodule.
Geometry
========
(when accessing it from the Game Engine use Geometry instead of Blender.Geometry)
This new module provides access to a geometry function.
"""
def Intersect(vec1, vec2, vec3, ray, orig, clip=1):
"""
Return the intersection between a ray and a triangle, if possible, return None otherwise.
@type vec1: Vector object.
@param vec1: A 3d vector, one corner of the triangle.
@type vec2: Vector object.
@param vec2: A 3d vector, one corner of the triangle.
@type vec3: Vector object.
@param vec3: A 3d vector, one corner of the triangle.
@type ray: Vector object.
@param ray: A 3d vector, the orientation of the ray. the length of the ray is not used, only the direction.
@type orig: Vector object.
@param orig: A 3d vector, the origin of the ray.
@type clip: integer
@param clip: if 0, don't restrict the intersection to the area of the triangle, use the infinite plane defined by the triangle.
@rtype: Vector object
@return: The intersection between a ray and a triangle, if possible, None otherwise.
"""
def TriangleArea(vec1, vec2, vec3):
"""
Return the area size of the 2D or 3D triangle defined.
@type vec1: Vector object.
@param vec1: A 2d or 3d vector, one corner of the triangle.
@type vec2: Vector object.
@param vec2: A 2d or 3d vector, one corner of the triangle.
@type vec3: Vector object.
@param vec3: A 2d or 3d vector, one corner of the triangle.
@rtype: float
@return: The area size of the 2D or 3D triangle defined.
"""
def TriangleNormal(vec1, vec2, vec3):
"""
Return the normal of the 3D triangle defined.
@type vec1: Vector object.
@param vec1: A 3d vector, one corner of the triangle.
@type vec2: Vector object.
@param vec2: A 3d vector, one corner of the triangle.
@type vec3: Vector object.
@param vec3: A 3d vector, one corner of the triangle.
@rtype: float
@return: The normal of the 3D triangle defined.
"""
def QuadNormal(vec1, vec2, vec3, vec4):
"""
Return the normal of the 3D quad defined.
@type vec1: Vector object.
@param vec1: A 3d vector, the first vertex of the quad.
@type vec2: Vector object.
@param vec2: A 3d vector, the second vertex of the quad.
@type vec3: Vector object.
@param vec3: A 3d vector, the third vertex of the quad.
@type vec4: Vector object.
@param vec4: A 3d vector, the fourth vertex of the quad.
@rtype: float
@return: The normal of the 3D quad defined.
"""
def LineIntersect(vec1, vec2, vec3, vec4):
"""
Return a tuple with the points on each line respectively closest to the other
(when both lines intersect, both vector hold the same value).
The lines are evaluated as infinite lines in space, the values returned may not be between the 2 points given for each line.
@type vec1: Vector object.
@param vec1: A 3d vector, one point on the first line.
@type vec2: Vector object.
@param vec2: A 3d vector, another point on the first line.
@type vec3: Vector object.
@param vec3: A 3d vector, one point on the second line.
@type vec4: Vector object.
@param vec4: A 3d vector, another point on the second line.
@rtype: (Vector object, Vector object)
@return: A tuple with the points on each line respectively closest to the other.
"""
def PolyFill(polylines):
"""
Takes a list of polylines and calculates triangles that would fill in the polylines.
Multiple lines can be used to make holes inside a polyline, or fill in 2 separate lines at once.
@type polylines: List of lists containing vectors, each representing a closed polyline.
@rtype: list
@return: a list if tuples each a tuple of 3 ints representing a triangle indexing the points given.
@note: 2D Vectors will have an assumed Z axis of zero, 4D Vectors W axis is ignored.
@note: The order of points in a polyline effect the direction returned triangles face, reverse the order of a polyline to flip the normal of returned faces.
I{B{Example:}}
The example below creates 2 polylines and fills them in with faces, then makes a mesh in the current scene::
import Blender
Vector= Blender.mathutils.Vector
# Outline of 5 points
polyline1= [Vector(-2.0, 1.0, 1.0), Vector(-1.0, 2.0, 1.0), Vector(1.0, 2.0, 1.0), Vector(1.0, -1.0, 1.0), Vector(-1.0, -1.0, 1.0)]
polyline2= [Vector(-1, 1, 1.0), Vector(0, 1, 1.0), Vector(0, 0, 1.0), Vector(-1.0, 0.0, 1.0)]
fill= Blender.Geometry.PolyFill([polyline1, polyline2])
# Make a new mesh and add the truangles into it
me= Blender.Mesh.New()
me.verts.extend(polyline1)
me.verts.extend(polyline2)
me.faces.extend(fill) # Add the faces, they reference the verts in polyline 1 and 2
scn = Blender.Scene.GetCurrent()
ob = scn.objects.new(me)
Blender.Redraw()
"""
def LineIntersect2D(vec1, vec2, vec3, vec4):
"""
Takes 2 lines vec1, vec2 for the 2 points of the first line and vec2, vec3 for the 2 points of the second line.
@rtype: Vector
@return: a 2D Vector for the intersection or None where there is no intersection.
"""
def ClosestPointOnLine(pt, vec1, vec2):
"""
Takes 2 lines vec1, vec2 for the 2 points of the first line and vec2, vec3 for the 2 points of the second line.
@rtype: tuple
@return: a tuple containing a vector and a float, the vector is the closest point on the line, the float is the position on the line, between 0 and 1 the point is on the line.
"""
def PointInTriangle2D(pt, tri_pt1, tri_pt2, tri_pt3):
"""
Takes 4 vectors (one for the test point and 3 for the triangle)
This is a 2d function so only X and Y are used, Z and W will be ignored.
@rtype: int
@return: 1 for a clockwise intersection, -1 for counter clockwise intersection, 0 when there is no intersection.
"""
def PointInQuad2D(pt, quad_pt1, quad_pt2, quad_pt3):
"""
Takes 5 vectors (one for the test point and 5 for the quad)
This is a 2d function so only X and Y are used, Z and W will be ignored.
@rtype: int
@return: 1 for a clockwise intersection, -1 for counter clockwise intersection, 0 when there is no intersection.
"""
def BoxPack2D(boxlist):
"""
Takes a list of 2D boxes and packs them into a square.
Each box in boxlist must be a list of at least 4 items - [x,y,w,h], after running this script,
the X and Y values in each box will be moved to packed, non overlapping locations.
Example::
# Make 500 random boxes, pack them and make a mesh from it
from Blender import Geometry, Scene, Mesh
import random
boxes = []
for i in xrange(500):
boxes.append( [0,0, random.random()+0.1, random.random()+0.1] )
boxsize = Geometry.BoxPack2D(boxes)
print 'BoxSize', boxsize
me = Mesh.New()
for x in boxes:
me.verts.extend([(x[0],x[1], 0), (x[0],x[1]+x[3], 0), (x[0]+x[2],x[1]+x[3], 0), (x[0]+x[2],x[1], 0) ])
v1= me.verts[-1]
v2= me.verts[-2]
v3= me.verts[-3]
v4= me.verts[-4]
me.faces.extend([(v1,v2,v3,v4)])
scn = Scene.GetCurrent()
scn.objects.new(me)
@note: Each boxlist item can be longer then 4, the extra items are ignored and stay untouched.
@rtype: tuple
@return: a tuple pair - (width, height) of all the packed boxes.
"""
def BezierInterp(vec_knot_1, vec_handle_1, vec_handle_2, vec_knot_2, resolution):
"""
Takes 4 vectors representing a bezier curve and returns a list of vector points.
@note: any vector size is supported, the largest dimension from the input will be used for all returned vectors/
@rtype: list
@return: a list of vectors the size of resolution including the start and end points (vec_knot_1 and vec_knot_2)
"""

View File

@@ -0,0 +1,132 @@
class IDGroup:
"""
The IDGroup Type
================
This type supports both iteration and the []
operator to get child ID properties.
You can also add new properties using the [] operator.
For example::
group['a float!'] = 0.0
group['an int!'] = 0
group['a string!'] = "hi!"
group['an array!'] = [0, 0, 1.0, 0]
group['a subgroup!] = {"float": 0.0, "an int": 1.0, "an array": [1, 2],
"another subgroup": {"a": 0.0, "str": "bleh"}}
Note that for arrays, the array type defaults to int unless a float is found
while scanning the template list; if any floats are found, then the whole
array is float. Note that double-precision floating point numbers are used for
python-created float ID properties and arrays (though the internal C api does
support single-precision floats, and the python code will read them).
You can also delete properties with the del operator. For example:
del group['property']
To get the type of a property, use the type() operator, for example::
if type(group['bleh']) == str: pass
To tell if the property is a group or array type, import the Blender.Types module and test
against IDGroupType and IDArrayType, like so::
from Blender.Types import IDGroupType, IDArrayType.
if type(group['bleghr']) == IDGroupType:
(do something)
@ivar name: The name of the property
@type name: string
"""
def pop(item):
"""
Pop an item from the group property.
@type item: string
@param item: The item name.
@rtype: can be dict, list, int, float or string.
@return: The removed property.
"""
def update(updatedict):
"""
Updates items in the dict, similar to normal python
dictionary method .update().
@type updatedict: dict
@param updatedict: A dict of simple types to derive updated/new IDProperties from.
@rtype: None
@return: None
"""
def keys():
"""
Returns a list of the keys in this property group.
@rtype: list of strings.
@return: a list of the keys in this property group.
"""
def values():
"""
Returns a list of the values in this property group.
Note that unless a value is itself a property group or an array, you
cannot change it by changing the values in this list, you must change them
in the parent property group.
For example,
group['some_property'] = new_value
. . .is correct, while,
values = group.values()
values[0] = new_value
. . .is wrong.
@rtype: list of strings.
@return: a list of the values in this property group.
"""
def iteritems():
"""
Implements the python dictionary iteritmes method.
For example::
for k, v in group.iteritems():
print "Property name: " + k
print "Property value: " + str(v)
@rtype: an iterator that spits out items of the form [key, value]
@return: an iterator.
"""
def convert_to_pyobject():
"""
Converts the entire property group to a purely python form.
@rtype: dict
@return: A python dictionary representing the property group
"""
class IDArray:
"""
The IDArray Type
================
@ivar type: returns the type of the array, can be either IDP_Int or IDP_Float
"""
def __getitem__(index):
pass
def __setitem__(index, value):
pass
def __len__():
pass

View File

@@ -0,0 +1,156 @@
# Blender.mathutils module and its subtypes
class Vector:
"""
@attention: Vector data can be wrapped or non-wrapped. When a object is wrapped it
means that the object will give you direct access to the data inside of blender. Modification
of this object will directly change the data inside of blender. To copy a wrapped object
you need to use the object's constructor. If you copy and object by assignment you will not get
a second copy but a second reference to the same data. Only certain functions will return
wrapped data. This will be indicated in the method description.
"""
def __init__(list = None):
"""
Create a new 2d, 3d, or 4d Vector object from a list of floating point numbers.
@note: that python uses higher precission floating point numbers, so values assigned to a vector may have some rounding error.
Example::
v = Vector(1,0,0)
v = Vector(myVec)
v = Vector(list)
@type list: PyList of float or int
@param list: The list of values for the Vector object. Can be a sequence or raw numbers.
Must be 2, 3, or 4 values. The list is mapped to the parameters as [x,y,z,w].
@rtype: Vector object.
@return: It depends wheter a parameter was passed:
- (list): Vector object initialized with the given values;
- (): An empty 3 dimensional vector.
"""
class Euler:
"""
The Euler object
================
This object gives access to Eulers in Blender.
@note: You can access a euler object like a sequence
- x = euler[0]
@note: Comparison operators can be done:
- ==, != test numeric values within epsilon
@attention: Euler data can be wrapped or non-wrapped. When a object is wrapped it
means that the object will give you direct access to the data inside of blender. Modification
of this object will directly change the data inside of blender. To copy a wrapped object
you need to use the object's constructor. If you copy and object by assignment you will not get
a second copy but a second reference to the same data. Only certain functions will return
wrapped data. This will be indicated in the method description.
"""
def __init__(list = None):
"""
Create a new euler object.
Example::
euler = Euler(45,0,0)
euler = Euler(myEuler)
euler = Euler(sequence)
@type list: PyList of float/int
@param list: 3d list to initialize euler
@rtype: Euler object
@return: Euler representing heading, pitch, bank.
@note: Values are in degrees.
"""
class Quaternion:
"""
The Quaternion object
=====================
This object gives access to Quaternions in Blender.
@note: Comparison operators can be done:
- ==, != test numeric values within epsilon
@note: Math can be performed on Quaternion classes
- quat + quat
- quat - quat
- quat * float/int
- quat * vec
- quat * quat
@note: You can access a quaternion object like a sequence
- x = quat[0]
@attention: Quaternion data can be wrapped or non-wrapped. When a object is wrapped it
means that the object will give you direct access to the data inside of blender. Modification
of this object will directly change the data inside of blender. To copy a wrapped object
you need to use the object's constructor. If you copy and object by assignment you will not get
a second copy but a second reference to the same data. Only certain functions will return
wrapped data. This will be indicated in the method description.
"""
def __init__(list, angle = None):
"""
Create a new quaternion object from initialized values.
Example::
quat = Quaternion(1,2,3,4)
quat = Quaternion(axis, angle)
quat = Quaternion()
quat = Quaternion(180, list)
@type list: PyList of int/float
@param list: A 3d or 4d list to initialize quaternion.
4d if intializing [w,x,y,z], 3d if used as an axis of rotation.
@type angle: float (optional)
@param angle: An arbitrary rotation amount around 'list'.
List is used as an axis of rotation in this case.
@rtype: New quaternion object.
@return: It depends wheter a parameter was passed:
- (list/angle): Quaternion object initialized with the given values;
- (): An identity 4 dimensional quaternion.
"""
class Matrix:
"""
The Matrix Object
=================
@note: Math can be performed on Matrix classes
- mat + mat
- mat - mat
- mat * float/int
- mat * vec
- mat * mat
@note: Comparison operators can be done:
- ==, != test numeric values within epsilon
@note: You can access a quaternion object like a 2d sequence
- x = matrix[0][1]
- vector = matrix[2]
@attention: Quaternion data can be wrapped or non-wrapped. When a object is wrapped it
means that the object will give you direct access to the data inside of blender. Modification
of this object will directly change the data inside of blender. To copy a wrapped object
you need to use the object's constructor. If you copy and object by assignment you will not get
a second copy but a second reference to the same data. Only certain functions will return
wrapped data. This will be indicated in the method description.
"""
def __init__(list1 = None, list2 = None, list3 = None, list4 = None):
"""
Create a new matrix object from initialized values.
Example::
matrix = Matrix([1,1,1],[0,1,0],[1,0,0])
matrix = Matrix(mat)
matrix = Matrix(seq1, seq2, vector)
@type list1: PyList of int/float
@param list1: A 2d,3d or 4d list.
@type list2: PyList of int/float
@param list2: A 2d,3d or 4d list.
@type list3: PyList of int/float
@param list3: A 2d,3d or 4d list.
@type list4: PyList of int/float
@param list4: A 2d,3d or 4d list.
@rtype: New matrix object.
@return: It depends wheter a parameter was passed:
- (list1, etc.): Matrix object initialized with the given values;
- (): An empty 3 dimensional matrix.
"""

View File

@@ -0,0 +1,45 @@
# Testing the BGL module
import Blender
from Blender.BGL import *
from Blender import Draw
R = G = B = 0
A = 1
instructions = "Hold mouse buttons to change the background color."
quitting = " Press ESC or q to quit."
def show_win():
glClearColor(R,G,B,A) # define color used to clear buffers
glClear(GL_COLOR_BUFFER_BIT) # use it to clear the color buffer
glColor3f(1,1,1) # change default color
glRasterPos2i(50,100) # move cursor to x = 50, y = 100
Draw.Text("Testing BGL + Draw") # draw this text there
glRasterPos2i(350,20) # move cursor again
Draw.Text(instructions + quitting) # draw another msg
glBegin(GL_LINE_LOOP) # begin a vertex-data list
glVertex2i(46,92)
glVertex2i(120,92)
glVertex2i(120,115)
glVertex2i(46,115)
glEnd() # close this list
glColor3f(0.35,0.18,0.92) # change default color again
glBegin(GL_POLYGON) # another list, for a polygon
glVertex2i(315, 292)
glVertex2i(412, 200)
glVertex2i(264, 256)
glEnd()
Draw.Redraw(1) # make changes visible.
def ev(evt, val): # this is a callback for Draw.Register()
global R,G,B,A # it handles input events
if evt == Draw.ESCKEY or evt == Draw.QKEY:
Draw.Exit() # this quits the script
elif evt == Draw.LEFTMOUSE: R = 1 - R
elif evt == Draw.MIDDLEMOUSE: G = 1 - G
elif evt == Draw.RIGHTMOUSE: B = 1 - B
else:
Draw.Register(show_win, ev, None)
Draw.Register(show_win, ev, None) # start the main loop

View File

@@ -0,0 +1,29 @@
import bpy
# print all objects
for obj in bpy.data.objects:
print(obj.name)
# print all scene names in a list
print(bpy.data.scenes.keys())
# remove mesh Cube
if "Cube" in bpy.data.meshes:
mesh = bpy.data.meshes["Cube"]
print("removing mesh", mesh)
bpy.data.meshes.unlink(mesh)
# write images into a file next to the blend
import os
file = open(os.path.splitext(bpy.data.filepath)[0] + ".txt", 'w')
for image in bpy.data.images:
file.write("%s %dx%d\n" % (image.filepath, image.size[0], image.size[1]))
file.close()

View File

@@ -0,0 +1,3 @@
import mathutils
# todo

View File

@@ -0,0 +1,3 @@
import mathutils
# todo

View File

@@ -0,0 +1,3 @@
import mathutils
# todo

View File

@@ -0,0 +1,55 @@
import mathutils
# zero length vector
vec = mathutils.Vector((0, 0, 1))
# unit length vector
vec_a = vec.copy().normalize()
vec_b = mathutils.Vector((0, 1, 2))
vec2d = mathutils.Vector((1, 2))
vec3d = mathutils.Vector((1, 0, 0))
vec4d = vec_a.copy().resize4D()
# other mathutuls types
quat = mathutils.Quaternion()
matrix = mathutils.Matrix()
# Comparison operators can be done on Vector classes:
# greater and less then test vector length.
vec_a > vec_b
vec_a >= vec_b
vec_a < vec_b
vec_a <= vec_b
# ==, != test vector values e.g. 1,2,3 != 3,2,1 even if they are the same length
vec_a == vec_b
vec_a != vec_b
# Math can be performed on Vector classes
vec_a + vec_b
vec_a - vec_b
vec_a * vec_b
vec_a * 10.0
vec_a * matrix
vec_a * vec_b
vec_a * quat
-vec_a
# You can access a vector object like a sequence
x = vec_a[0]
len(vec)
vec_a[:] = vec_b
vec2d[:] = vec3d[:2]
# Vectors support 'swizzle' operations
# See http://en.wikipedia.org/wiki/Swizzling_(computer_graphics)
vec.xyz = vec.zyx
vec.xy = vec4d.zw
vec.xyz = vec4d.wzz
vec4d.wxyz = vec.yxyx

View File

@@ -0,0 +1,18 @@
import mathutils
from math import radians
vec = mathutils.Vector((1.0, 2.0, 3.0))
mat_rot = mathutils.Matrix.Rotation(radians(90), 4, 'X')
mat_trans = mathutils.Matrix.Translation(vec)
mat = mat_trans * mat_rot
mat.invert()
mat3 = mat.rotation_part()
quat1 = mat.to_quat()
quat2 = mat3.to_quat()
angle = quat1.difference(quat2)
print(angle)

View File

@@ -0,0 +1,250 @@
Game Engine bge.events module
=============================
*****
Intro
*****
This module holds key constants for the SCA_KeyboardSensor.
.. module:: bge.events
.. code-block:: python
# Set a connected keyboard sensor to accept F1
import bge
co = bge.logic.getCurrentController()
# 'Keyboard' is a keyboard sensor
sensor = co.sensors["Keyboard"]
sensor.key = bge.events.F1KEY
.. code-block:: python
# Do the all keys thing
import bge
co = bge.logic.getCurrentController()
# 'Keyboard' is a keyboard sensor
sensor = co.sensors["Keyboard"]
for key,status in sensor.events:
# key[0] == bge.events.keycode, key[1] = status
if status == bge.logic.KX_INPUT_JUST_ACTIVATED:
if key == bge.events.WKEY:
# Activate Forward!
if key == bge.events.SKEY:
# Activate Backward!
if key == bge.events.AKEY:
# Activate Left!
if key == bge.events.DKEY:
# Activate Right!
.. code-block:: python
# The all keys thing without a keyboard sensor (but you will
# need an always sensor with pulse mode on)
import bge
# Just shortening names here
keyboard = bge.logic.keyboard
JUST_ACTIVATED = bge.logic.KX_INPUT_JUST_ACTIVATED
if keyboard.events[bge.events.WKEY] == JUST_ACTIVATED:
print("Activate Forward!")
if keyboard.events[bge.events.SKEY] == JUST_ACTIVATED:
print("Activate Backward!")
if keyboard.events[bge.events.AKEY] == JUST_ACTIVATED:
print("Activate Left!")
if keyboard.events[bge.events.DKEY] == JUST_ACTIVATED:
print("Activate Right!")
*********
Functions
*********
.. function:: EventToString(event)
Return the string name of a key event. Will raise a ValueError error if its invalid.
:arg event: key event from bge.keys or the keyboard sensor.
:type event: int
:rtype: string
.. function:: EventToCharacter(event, shift)
Return the string name of a key event. Returns an empty string if the event cant be represented as a character.
:type event: int
:arg event: key event from :mod:`bge.keys` or the keyboard sensor.
:type shift: bool
:arg shift: set to true if shift is held.
:rtype: string
****************
Keys (Constants)
****************
.. _mouse-keys:
==========
Mouse Keys
==========
.. data:: LEFTMOUSE
.. data:: MIDDLEMOUSE
.. data:: RIGHTMOUSE
.. data:: WHEELUPMOUSE
.. data:: WHEELDOWNMOUSE
.. data:: MOUSEX
.. data:: MOUSEY
.. _keyboard-keys:
=============
Keyboard Keys
=============
-------------
Alphabet keys
-------------
.. data:: AKEY
.. data:: BKEY
.. data:: CKEY
.. data:: DKEY
.. data:: EKEY
.. data:: FKEY
.. data:: GKEY
.. data:: HKEY
.. data:: IKEY
.. data:: JKEY
.. data:: KKEY
.. data:: LKEY
.. data:: MKEY
.. data:: NKEY
.. data:: OKEY
.. data:: PKEY
.. data:: QKEY
.. data:: RKEY
.. data:: SKEY
.. data:: TKEY
.. data:: UKEY
.. data:: VKEY
.. data:: WKEY
.. data:: XKEY
.. data:: YKEY
.. data:: ZKEY
-----------
Number keys
-----------
.. data:: ZEROKEY
.. data:: ONEKEY
.. data:: TWOKEY
.. data:: THREEKEY
.. data:: FOURKEY
.. data:: FIVEKEY
.. data:: SIXKEY
.. data:: SEVENKEY
.. data:: EIGHTKEY
.. data:: NINEKEY
--------------
Modifiers Keys
--------------
.. data:: CAPSLOCKKEY
.. data:: LEFTCTRLKEY
.. data:: LEFTALTKEY
.. data:: RIGHTALTKEY
.. data:: RIGHTCTRLKEY
.. data:: RIGHTSHIFTKEY
.. data:: LEFTSHIFTKEY
----------
Arrow Keys
----------
.. data:: LEFTARROWKEY
.. data:: DOWNARROWKEY
.. data:: RIGHTARROWKEY
.. data:: UPARROWKEY
--------------
Numberpad Keys
--------------
.. data:: PAD0
.. data:: PAD1
.. data:: PAD2
.. data:: PAD3
.. data:: PAD4
.. data:: PAD5
.. data:: PAD6
.. data:: PAD7
.. data:: PAD8
.. data:: PAD9
.. data:: PADPERIOD
.. data:: PADSLASHKEY
.. data:: PADASTERKEY
.. data:: PADMINUS
.. data:: PADENTER
.. data:: PADPLUSKEY
-------------
Function Keys
-------------
.. data:: F1KEY
.. data:: F2KEY
.. data:: F3KEY
.. data:: F4KEY
.. data:: F5KEY
.. data:: F6KEY
.. data:: F7KEY
.. data:: F8KEY
.. data:: F9KEY
.. data:: F10KEY
.. data:: F11KEY
.. data:: F12KEY
.. data:: F13KEY
.. data:: F14KEY
.. data:: F15KEY
.. data:: F16KEY
.. data:: F17KEY
.. data:: F18KEY
.. data:: F19KEY
----------
Other Keys
----------
.. data:: ACCENTGRAVEKEY
.. data:: BACKSLASHKEY
.. data:: BACKSPACEKEY
.. data:: COMMAKEY
.. data:: DELKEY
.. data:: ENDKEY
.. data:: EQUALKEY
.. data:: ESCKEY
.. data:: HOMEKEY
.. data:: INSERTKEY
.. data:: LEFTBRACKETKEY
.. data:: LINEFEEDKEY
.. data:: MINUSKEY
.. data:: PAGEDOWNKEY
.. data:: PAGEUPKEY
.. data:: PAUSEKEY
.. data:: PERIODKEY
.. data:: QUOTEKEY
.. data:: RIGHTBRACKETKEY
.. data:: RETKEY (Deprecated: use bge.events.ENTERKEY)
.. data:: ENTERKEY
.. data:: SEMICOLONKEY
.. data:: SLASHKEY
.. data:: SPACEKEY
.. data:: TABKEY

View File

@@ -0,0 +1,932 @@
Game Engine bge.logic Module
============================
*****
Intro
*****
Module to access logic functions, imported automatically into the python controllers namespace.
.. module:: bge.logic
.. code-block:: python
# To get the controller thats running this python script:
cont = bge.logic.getCurrentController() # bge.logic is automatically imported
# To get the game object this controller is on:
obj = cont.owner
:class:`~bge.types.KX_GameObject` and :class:`~bge.types.KX_Camera` or :class:`bge.types.~KX_LightObject` methods are available depending on the type of object
.. code-block:: python
# To get a sensor linked to this controller.
# "sensorname" is the name of the sensor as defined in the Blender interface.
# +---------------------+ +--------+
# | Sensor "sensorname" +--+ Python +
# +---------------------+ +--------+
sens = cont.sensors["sensorname"]
# To get a sequence of all sensors:
sensors = co.sensors
See the sensor's reference for available methods:
.. hlist::
:columns: 3
* :class:`~bge.types.KX_MouseFocusSensor`
* :class:`~bge.types.KX_NearSensor`
* :class:`~bge.types.KX_NetworkMessageSensor`
* :class:`~bge.types.KX_RadarSensor`
* :class:`~bge.types.KX_RaySensor`
* :class:`~bge.types.KX_TouchSensor`
* :class:`~bge.types.SCA_DelaySensor`
* :class:`~bge.types.SCA_JoystickSensor`
* :class:`~bge.types.SCA_KeyboardSensor`
* :class:`~bge.types.SCA_MouseSensor`
* :class:`~bge.types.SCA_PropertySensor`
* :class:`~bge.types.SCA_RandomSensor`
You can also access actuators linked to the controller
.. code-block:: python
# To get an actuator attached to the controller:
# +--------+ +-------------------------+
# + Python +--+ Actuator "actuatorname" |
# +--------+ +-------------------------+
actuator = co.actuators["actuatorname"]
# Activate an actuator
controller.activate(actuator)
See the actuator's reference for available methods
.. hlist::
:columns: 3
* :class:`~bge.types.BL_ActionActuator`
* :class:`~bge.types.BL_ShapeActionActuator`
* :class:`~bge.types.KX_CameraActuator`
* :class:`~bge.types.KX_ConstraintActuator`
* :class:`~bge.types.KX_GameActuator`
* :class:`~bge.types.KX_IpoActuator`
* :class:`~bge.types.KX_NetworkMessageActuator`
* :class:`~bge.types.KX_ObjectActuator`
* :class:`~bge.types.KX_ParentActuator`
* :class:`~bge.types.KX_SCA_AddObjectActuator`
* :class:`~bge.types.KX_SCA_DynamicActuator`
* :class:`~bge.types.KX_SCA_EndObjectActuator`
* :class:`~bge.types.KX_SCA_ReplaceMeshActuator`
* :class:`~bge.types.KX_SceneActuator`
* :class:`~bge.types.KX_SoundActuator`
* :class:`~bge.types.KX_StateActuator`
* :class:`~bge.types.KX_TrackToActuator`
* :class:`~bge.types.KX_VisibilityActuator`
* :class:`~bge.types.SCA_2DFilterActuator`
* :class:`~bge.types.SCA_PropertyActuator`
* :class:`~bge.types.SCA_RandomActuator`
Most logic brick's methods are accessors for the properties available in the logic buttons.
Consult the logic bricks documentation for more information on how each logic brick works.
There are also methods to access the current :class:`bge.types.KX_Scene`
.. code-block:: python
# Get the current scene
scene = bge.logic.getCurrentScene()
# Get the current camera
cam = scene.active_camera
Matricies as used by the game engine are **row major**
``matrix[row][col] = float``
:class:`bge.types.KX_Camera` has some examples using matricies.
*********
Variables
*********
.. data:: globalDict
A dictionary that is saved between loading blend files so you can use it to store inventory and other variables you want to store between scenes and blend files.
It can also be written to a file and loaded later on with the game load/save actuators.
.. note:: only python built in types such as int/string/bool/float/tuples/lists can be saved, GameObjects, Actuators etc will not work as expected.
.. data:: keyboard
The current keyboard wrapped in an :class:`~bge.types.SCA_PythonKeyboard` object.
.. data:: mouse
The current mouse wrapped in an :class:`~bge.types.SCA_PythonMouse` object.
*****************
General functions
*****************
.. function:: getCurrentController()
Gets the Python controller associated with this Python script.
:rtype: :class:`bge.types.SCA_PythonController`
.. function:: getCurrentScene()
Gets the current Scene.
:rtype: :class:`bge.types.KX_Scene`
.. function:: getSceneList()
Gets a list of the current scenes loaded in the game engine.
:rtype: list of :class:`bge.types.KX_Scene`
.. note:: Scenes in your blend file that have not been converted wont be in this list. This list will only contain scenes such as overlays scenes.
.. function:: loadGlobalDict()
Loads bge.logic.globalDict from a file.
.. function:: saveGlobalDict()
Saves bge.logic.globalDict to a file.
.. function:: startGame(blend)
Loads the blend file.
:arg blend: The name of the blend file
:type blend: string
.. function:: endGame()
Ends the current game.
.. function:: restartGame()
Restarts the current game by reloading the .blend file (the last saved version, not what is currently running).
.. function:: LibLoad(blend, type, data)
Converts the all of the datablocks of the given type from the given blend.
:arg blend: The path to the blend file (or the name to use for the library if data is supplied)
:type blend: string
:arg type: The datablock type (currently only "Action", "Mesh" and "Scene" are supported)
:type type: string
:arg data: Binary data from a blend file (optional)
:type data: bytes
.. function:: LibNew(name, type, data)
Uses existing datablock data and loads in as a new library.
:arg name: A unique library name used for removal later
:type name: string
:arg type: The datablock type (currently only "Mesh" is supported)
:type type: string
:arg data: A list of names of the datablocks to load
:type data: list of strings
.. function:: LibFree(name)
Frees a library, removing all objects and meshes from the currently active scenes.
:arg name: The name of the library to free (the name used in LibNew)
:type name: string
.. function:: addScene(name, overlay=1)
Loads a scene into the game engine.
:arg name: The name of the scene
:type name: string
:arg overlay: Overlay or underlay (optional)
:type overlay: integer
.. function:: sendMessage(subject, body="", to="", message_from="")
Sends a message to sensors in any active scene.
:arg subject: The subject of the message
:type subject: string
:arg body: The body of the message (optional)
:type body: string
:arg to: The name of the object to send the message to (optional)
:type to: string
:arg message_from: The name of the object that the message is coming from (optional)
:type message_from: string
.. function:: setGravity(gravity)
Sets the world gravity.
:type gravity: list [fx, fy, fz]
.. function:: getSpectrum()
Returns a 512 point list from the sound card.
This only works if the fmod sound driver is being used.
:rtype: list [float], len(getSpectrum()) == 512
.. function:: stopDSP()
Stops the sound driver using DSP effects.
Only the fmod sound driver supports this.
DSP can be computationally expensive.
.. function:: getMaxLogicFrame()
Gets the maximum number of logic frames per render frame.
:return: The maximum number of logic frames per render frame
:rtype: integer
.. function:: setMaxLogicFrame(maxlogic)
Sets the maximum number of logic frames that are executed per render frame.
This does not affect the physic system that still runs at full frame rate.
:arg maxlogic: The new maximum number of logic frames per render frame. Valid values: 1..5
:type maxlogic: integer
.. function:: getMaxPhysicsFrame()
Gets the maximum number of physics frames per render frame.
:return: The maximum number of physics frames per render frame
:rtype: integer
.. function:: setMaxPhysicsFrame(maxphysics)
Sets the maximum number of physics timestep that are executed per render frame.
Higher value allows physics to keep up with realtime even if graphics slows down the game.
Physics timestep is fixed and equal to 1/tickrate (see setLogicTicRate)
maxphysics/ticrate is the maximum delay of the renderer that physics can compensate.
:arg maxphysics: The new maximum number of physics timestep per render frame. Valid values: 1..5.
:type maxphysics: integer
.. function:: getLogicTicRate()
Gets the logic update frequency.
:return: The logic frequency in Hz
:rtype: float
.. function:: setLogicTicRate(ticrate)
Sets the logic update frequency.
The logic update frequency is the number of times logic bricks are executed every second.
The default is 60 Hz.
:arg ticrate: The new logic update frequency (in Hz).
:type ticrate: float
.. function:: getPhysicsTicRate()
Gets the physics update frequency
:return: The physics update frequency in Hz
:rtype: float
.. warning: Not implimented yet
.. function:: setPhysicsTicRate(ticrate)
Sets the physics update frequency
The physics update frequency is the number of times the physics system is executed every second.
The default is 60 Hz.
:arg ticrate: The new update frequency (in Hz).
:type ticrate: float
.. warning: Not implimented yet
*****************
Utility functions
*****************
.. function:: expandPath(path)
Converts a blender internal path into a proper file system path.
Use / as directory separator in path
You can use '//' at the start of the string to define a relative path;
Blender replaces that string by the directory of the startup .blend or runtime file
to make a full path name (doesn't change during the game, even if you load other .blend).
The function also converts the directory separator to the local file system format.
:arg path: The path string to be converted/expanded.
:type path: string
:return: The converted string
:rtype: string
.. function:: getAverageFrameRate()
Gets the estimated average framerate
:return: The estimed average framerate in frames per second
:rtype: float
.. function:: getBlendFileList(path = "//")
Returns a list of blend files in the same directory as the open blend file, or from using the option argument.
:arg path: Optional directory argument, will be expanded (like expandPath) into the full path.
:type path: string
:return: A list of filenames, with no directory prefix
:rtype: list
.. function:: getRandomFloat()
Returns a random floating point value in the range [0 - 1)
.. function:: PrintGLInfo()
Prints GL Extension Info into the console
*********
Constants
*********
.. data:: KX_TRUE
True value used by some modules.
.. data:: KX_FALSE
False value used by some modules.
=======
Sensors
=======
.. _sensor-status:
-------------
Sensor Status
-------------
.. data:: KX_SENSOR_INACTIVE
.. data:: KX_SENSOR_JUST_ACTIVATED
.. data:: KX_SENSOR_ACTIVE
.. data:: KX_SENSOR_JUST_DEACTIVATED
.. _logic-property-sensor:
---------------
Property Sensor
---------------
.. data:: KX_PROPSENSOR_EQUAL
Activate when the property is equal to the sensor value.
:value: 1
.. data:: KX_PROPSENSOR_NOTEQUAL
Activate when the property is not equal to the sensor value.
:value: 2
.. data:: KX_PROPSENSOR_INTERVAL
Activate when the property is between the specified limits.
:value: 3
.. data:: KX_PROPSENSOR_CHANGED
Activate when the property changes
:value: 4
.. data:: KX_PROPSENSOR_EXPRESSION
Activate when the expression matches
:value: 5
------------
Radar Sensor
------------
See :class:`bge.types.KX_RadarSensor`
.. data:: KX_RADAR_AXIS_POS_X
.. data:: KX_RADAR_AXIS_POS_Y
.. data:: KX_RADAR_AXIS_POS_Z
.. data:: KX_RADAR_AXIS_NEG_X
.. data:: KX_RADAR_AXIS_NEG_Y
.. data:: KX_RADAR_AXIS_NEG_Z
----------
Ray Sensor
----------
See :class:`bge.types.KX_RaySensor`
.. data:: KX_RAY_AXIS_POS_X
.. data:: KX_RAY_AXIS_POS_Y
.. data:: KX_RAY_AXIS_POS_Z
.. data:: KX_RAY_AXIS_NEG_X
.. data:: KX_RAY_AXIS_NEG_Y
.. data:: KX_RAY_AXIS_NEG_Z
=========
Actuators
=========
.. _action-actuator:
---------------
Action Actuator
---------------
See :class:`bge.types.BL_ActionActuator`
.. data:: KX_ACTIONACT_PLAY
.. data:: KX_ACTIONACT_FLIPPER
.. data:: KX_ACTIONACT_LOOPSTOP
.. data:: KX_ACTIONACT_LOOPEND
.. data:: KX_ACTIONACT_PROPERTY
-------------------
Constraint Actuator
-------------------
.. _constraint-actuator-option:
See :class:`bge.types.KX_ConstraintActuator.option`
* Applicable to Distance constraint:
.. data:: KX_ACT_CONSTRAINT_NORMAL
Activate alignment to surface
.. data:: KX_ACT_CONSTRAINT_DISTANCE
Activate distance control
.. data:: KX_ACT_CONSTRAINT_LOCAL
Direction of the ray is along the local axis
* Applicable to Force field constraint:
.. data:: KX_ACT_CONSTRAINT_DOROTFH
Force field act on rotation as well
* Applicable to both:
.. data:: KX_ACT_CONSTRAINT_MATERIAL
Detect material rather than property
.. data:: KX_ACT_CONSTRAINT_PERMANENT
No deactivation if ray does not hit target
.. _constraint-actuator-limit:
See :class:`bge.types.KX_ConstraintActuator.limit`
.. data:: KX_CONSTRAINTACT_LOCX
Limit X coord.
.. data:: KX_CONSTRAINTACT_LOCY
Limit Y coord
.. data:: KX_CONSTRAINTACT_LOCZ
Limit Z coord
.. data:: KX_CONSTRAINTACT_ROTX
Limit X rotation
.. data:: KX_CONSTRAINTACT_ROTY
Limit Y rotation
.. data:: KX_CONSTRAINTACT_ROTZ
Limit Z rotation
.. data:: KX_CONSTRAINTACT_DIRNX
Set distance along negative X axis
.. data:: KX_CONSTRAINTACT_DIRNY
Set distance along negative Y axis
.. data:: KX_CONSTRAINTACT_DIRNZ
Set distance along negative Z axis
.. data:: KX_CONSTRAINTACT_DIRPX
Set distance along positive X axis
.. data:: KX_CONSTRAINTACT_DIRPY
Set distance along positive Y axis
.. data:: KX_CONSTRAINTACT_DIRPZ
Set distance along positive Z axis
.. data:: KX_CONSTRAINTACT_ORIX
Set orientation of X axis
.. data:: KX_CONSTRAINTACT_ORIY
Set orientation of Y axis
.. data:: KX_CONSTRAINTACT_ORIZ
Set orientation of Z axis
.. data:: KX_ACT_CONSTRAINT_FHNX
Set force field along negative X axis
.. data:: KX_ACT_CONSTRAINT_FHNY
Set force field along negative Y axis
.. data:: KX_ACT_CONSTRAINT_FHNZ
Set force field along negative Z axis
.. data:: KX_ACT_CONSTRAINT_FHPX
Set force field along positive X axis
.. data:: KX_ACT_CONSTRAINT_FHPY
Set force field along positive Y axis
.. data:: KX_ACT_CONSTRAINT_FHPZ
Set force field along positive Z axis
----------------
Dynamic Actuator
----------------
See :class:`bge.types.KX_SCA_DynamicActuator`
.. data:: KX_DYN_RESTORE_DYNAMICS
.. data:: KX_DYN_DISABLE_DYNAMICS
.. data:: KX_DYN_ENABLE_RIGID_BODY
.. data:: KX_DYN_DISABLE_RIGID_BODY
.. data:: KX_DYN_SET_MASS
.. _game-actuator:
-------------
Game Actuator
-------------
See :class:`bge.types.KX_GameActuator`
.. data:: KX_GAME_LOAD
.. data:: KX_GAME_START
.. data:: KX_GAME_RESTART
.. data:: KX_GAME_QUIT
.. data:: KX_GAME_SAVECFG
.. data:: KX_GAME_LOADCFG
.. _ipo-actuator:
------------
IPO Actuator
------------
See :class:`bge.types.KX_IpoActuator`
.. data:: KX_IPOACT_PLAY
.. data:: KX_IPOACT_PINGPONG
.. data:: KX_IPOACT_FLIPPER
.. data:: KX_IPOACT_LOOPSTOP
.. data:: KX_IPOACT_LOOPEND
.. data:: KX_IPOACT_FROM_PROP
---------------
Parent Actuator
---------------
.. data:: KX_PARENT_REMOVE
.. data:: KX_PARENT_SET
.. _logic-random-distributions:
--------------------
Random Distributions
--------------------
See :class:`bge.types.SCA_RandomActuator`
.. data:: KX_RANDOMACT_BOOL_CONST
.. data:: KX_RANDOMACT_BOOL_UNIFORM
.. data:: KX_RANDOMACT_BOOL_BERNOUILLI
.. data:: KX_RANDOMACT_INT_CONST
.. data:: KX_RANDOMACT_INT_UNIFORM
.. data:: KX_RANDOMACT_INT_POISSON
.. data:: KX_RANDOMACT_FLOAT_CONST
.. data:: KX_RANDOMACT_FLOAT_UNIFORM
.. data:: KX_RANDOMACT_FLOAT_NORMAL
.. data:: KX_RANDOMACT_FLOAT_NEGATIVE_EXPONENTIAL
--------------
Scene Actuator
--------------
See :class:`bge.types.KX_SceneActuator`
.. data:: KX_SCENE_RESTART
.. data:: KX_SCENE_SET_SCENE
.. data:: KX_SCENE_SET_CAMERA
.. data:: KX_SCENE_ADD_FRONT_SCENE
.. data:: KX_SCENE_ADD_BACK_SCENE
.. data:: KX_SCENE_REMOVE_SCENE
.. data:: KX_SCENE_SUSPEND
.. data:: KX_SCENE_RESUME
.. _shape-action-actuator:
---------------------
Shape Action Actuator
---------------------
See :class:`bge.types.BL_ActionActuator`
.. data:: KX_ACTIONACT_PLAY
.. data:: KX_ACTIONACT_FLIPPER
.. data:: KX_ACTIONACT_LOOPSTOP
.. data:: KX_ACTIONACT_LOOPEND
.. data:: KX_ACTIONACT_PROPERTY
.. _logic-sound-actuator:
--------------
Sound Actuator
--------------
See :class:`bge.types.KX_SoundActuator`
.. data:: KX_SOUNDACT_PLAYSTOP
:value: 1
.. data:: KX_SOUNDACT_PLAYEND
:value: 2
.. data:: KX_SOUNDACT_LOOPSTOP
:value: 3
.. data:: KX_SOUNDACT_LOOPEND
:value: 4
.. data:: KX_SOUNDACT_LOOPBIDIRECTIONAL
:value: 5
.. data:: KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP
:value: 6
=======
Various
=======
.. _input-status:
------------
Input Status
------------
See :class:`bge.types.SCA_PythonKeyboard`, :class:`bge.types.SCA_PythonMouse`, :class:`bge.types.SCA_MouseSensor`, :class:`bge.types.SCA_KeyboardSensor`
.. data:: KX_INPUT_NONE
.. data:: KX_INPUT_JUST_ACTIVATED
.. data:: KX_INPUT_ACTIVE
.. data:: KX_INPUT_JUST_RELEASED
-------------
Mouse Buttons
-------------
See :class:`bge.types.SCA_MouseSensor`
.. data:: KX_MOUSE_BUT_LEFT
.. data:: KX_MOUSE_BUT_MIDDLE
.. data:: KX_MOUSE_BUT_RIGHT
------
States
------
See :class:`bge.types.KX_StateActuator`
.. data:: KX_STATE1
.. data:: KX_STATE2
.. data:: KX_STATE3
.. data:: KX_STATE4
.. data:: KX_STATE5
.. data:: KX_STATE6
.. data:: KX_STATE7
.. data:: KX_STATE8
.. data:: KX_STATE9
.. data:: KX_STATE10
.. data:: KX_STATE11
.. data:: KX_STATE12
.. data:: KX_STATE13
.. data:: KX_STATE14
.. data:: KX_STATE15
.. data:: KX_STATE16
.. data:: KX_STATE17
.. data:: KX_STATE18
.. data:: KX_STATE19
.. data:: KX_STATE20
.. data:: KX_STATE21
.. data:: KX_STATE22
.. data:: KX_STATE23
.. data:: KX_STATE24
.. data:: KX_STATE25
.. data:: KX_STATE26
.. data:: KX_STATE27
.. data:: KX_STATE28
.. data:: KX_STATE29
.. data:: KX_STATE30
.. _state-actuator-operation:
See :class:`bge.types.KX_StateActuator.operation`
.. data:: KX_STATE_OP_CLR
Substract bits to state mask
:value: 0
.. data:: KX_STATE_OP_CPY
Copy state mask
:value: 1
.. data:: KX_STATE_OP_NEG
Invert bits to state mask
:value: 2
.. data:: KX_STATE_OP_SET
Add bits to state mask
:value: 3
.. _Two-D-FilterActuator-mode:
---------
2D Filter
---------
.. data:: RAS_2DFILTER_BLUR
:value: 2
.. data:: RAS_2DFILTER_CUSTOMFILTER
Customer filter, the code code is set via shaderText property.
:value: 12
.. data:: RAS_2DFILTER_DILATION
:value: 4
.. data:: RAS_2DFILTER_DISABLED
Disable the filter that is currently active
:value: -1
.. data:: RAS_2DFILTER_ENABLED
Enable the filter that was previously disabled
:value: -2
.. data:: RAS_2DFILTER_EROSION
:value: 5
.. data:: RAS_2DFILTER_GRAYSCALE
:value: 9
.. data:: RAS_2DFILTER_INVERT
:value: 11
.. data:: RAS_2DFILTER_LAPLACIAN
:value: 6
.. data:: RAS_2DFILTER_MOTIONBLUR
Create and enable preset filters
:value: 1
.. data:: RAS_2DFILTER_NOFILTER
Disable and destroy the filter that is currently active
:value: 0
.. data:: RAS_2DFILTER_PREWITT
:value: 8
.. data:: RAS_2DFILTER_SEPIA
:value: 10
.. data:: RAS_2DFILTER_SHARPEN
:value: 3
.. data:: RAS_2DFILTER_SOBEL
:value: 7
------
Shader
------
.. data:: VIEWMATRIX
.. data:: VIEWMATRIX_INVERSE
.. data:: VIEWMATRIX_INVERSETRANSPOSE
.. data:: VIEWMATRIX_TRANSPOSE
.. data:: MODELMATRIX
.. data:: MODELMATRIX_INVERSE
.. data:: MODELMATRIX_INVERSETRANSPOSE
.. data:: MODELMATRIX_TRANSPOSE
.. data:: MODELVIEWMATRIX
.. data:: MODELVIEWMATRIX_INVERSE
.. data:: MODELVIEWMATRIX_INVERSETRANSPOSE
.. data:: MODELVIEWMATRIX_TRANSPOSE
.. data:: CAM_POS
Current camera position
.. data:: CONSTANT_TIMER
User a timer for the uniform value.
.. data:: SHD_TANGENT
----------------
Blender Material
----------------
.. data:: BL_DST_ALPHA
.. data:: BL_DST_COLOR
.. data:: BL_ONE
.. data:: BL_ONE_MINUS_DST_ALPHA
.. data:: BL_ONE_MINUS_DST_COLOR
.. data:: BL_ONE_MINUS_SRC_ALPHA
.. data:: BL_ONE_MINUS_SRC_COLOR
.. data:: BL_SRC_ALPHA
.. data:: BL_SRC_ALPHA_SATURATE
.. data:: BL_SRC_COLOR
.. data:: BL_ZERO

View File

@@ -0,0 +1,242 @@
Game Engine bge.render Module
=============================
*****
Intro
*****
.. module:: bge.render
.. code-block:: python
# Example Uses an L{SCA_MouseSensor}, and two L{KX_ObjectActuator}s to implement MouseLook::
# To use a mouse movement sensor "Mouse" and a
# motion actuator to mouse look:
import bge.render
import bge.logic
# SCALE sets the speed of motion
SCALE=[1, 0.5]
co = bge.logic.getCurrentController()
obj = co.getOwner()
mouse = co.getSensor("Mouse")
lmotion = co.getActuator("LMove")
wmotion = co.getActuator("WMove")
# Transform the mouse coordinates to see how far the mouse has moved.
def mousePos():
x = (bge.render.getWindowWidth()/2 - mouse.getXPosition())*SCALE[0]
y = (bge.render.getWindowHeight()/2 - mouse.getYPosition())*SCALE[1]
return (x, y)
pos = mousePos()
# Set the amount of motion: X is applied in world coordinates...
lmotion.setTorque(0.0, 0.0, pos[0], False)
# ...Y is applied in local coordinates
wmotion.setTorque(-pos[1], 0.0, 0.0, True)
# Activate both actuators
bge.logic.addActiveActuator(lmotion, True)
bge.logic.addActiveActuator(wmotion, True)
# Centre the mouse
bge.render.setMousePosition(bge.render.getWindowWidth()/2, bge.render.getWindowHeight()/2)
*********
Constants
*********
.. data:: KX_TEXFACE_MATERIAL
Materials as defined by the texture face settings.
.. data:: KX_BLENDER_MULTITEX_MATERIAL
Materials approximating blender materials with multitexturing.
.. data:: KX_BLENDER_GLSL_MATERIAL
Materials approximating blender materials with GLSL.
*********
Functions
*********
.. function:: getWindowWidth()
Gets the width of the window (in pixels)
:rtype: integer
.. function:: getWindowHeight()
Gets the height of the window (in pixels)
:rtype: integer
.. function:: makeScreenshot(filename)
Writes a screenshot to the given filename.
If filename starts with // the image will be saved relative to the current directory.
If the filename contains # it will be replaced with the frame number.
The standalone player saves .png files. It does not support colour space conversion
or gamma correction.
When run from Blender, makeScreenshot supports Iris, IrisZ, TGA, Raw TGA, PNG, HamX, and Jpeg.
Gamma, Colourspace conversion and Jpeg compression are taken from the Render settings panels.
:type filename: string
.. function:: enableVisibility(visible)
Doesn't really do anything...
.. function:: showMouse(visible)
Enables or disables the operating system mouse cursor.
:type visible: boolean
.. function:: setMousePosition(x, y)
Sets the mouse cursor position.
:type x: integer
:type y: integer
.. function:: setBackgroundColor(rgba)
Sets the window background colour.
:type rgba: list [r, g, b, a]
.. function:: setMistColor(rgb)
Sets the mist colour.
:type rgb: list [r, g, b]
.. function:: setAmbientColor(rgb)
Sets the color of ambient light.
:type rgb: list [r, g, b]
.. function:: setMistStart(start)
Sets the mist start value. Objects further away than start will have mist applied to them.
:type start: float
.. function:: setMistEnd(end)
Sets the mist end value. Objects further away from this will be coloured solid with
the colour set by setMistColor().
:type end: float
.. function:: disableMist()
Disables mist.
.. note:: Set any of the mist properties to enable mist.
.. function:: setEyeSeparation(eyesep)
Sets the eye separation for stereo mode. Usually Focal Length/30 provides a confortable value.
:arg eyesep: The distance between the left and right eye.
:type eyesep: float
.. function:: getEyeSeparation()
Gets the current eye separation for stereo mode.
:rtype: float
.. function:: setFocalLength(focallength)
Sets the focal length for stereo mode. It uses the current camera focal length as initial value.
:arg focallength: The focal length.
:type focallength: float
.. function:: getFocalLength()
Gets the current focal length for stereo mode.
:rtype: float
.. function:: setMaterialMode(mode)
Set the material mode to use for OpenGL rendering.
:type mode: KX_TEXFACE_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_GLSL_MATERIAL
.. note:: Changes will only affect newly created scenes.
.. function:: getMaterialMode(mode)
Get the material mode to use for OpenGL rendering.
:rtype: KX_TEXFACE_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_GLSL_MATERIAL
.. function:: setGLSLMaterialSetting(setting, enable)
Enables or disables a GLSL material setting.
:type setting: string (lights, shaders, shadows, ramps, nodes, extra_textures)
:type enable: boolean
.. function:: getGLSLMaterialSetting(setting, enable)
Get the state of a GLSL material setting.
:type setting: string (lights, shaders, shadows, ramps, nodes, extra_textures)
:rtype: boolean
.. function:: drawLine(fromVec,toVec,color)
Draw a line in the 3D scene.
:arg fromVec: the origin of the line
:type fromVec: list [x, y, z]
:arg toVec: the end of the line
:type toVec: list [x, y, z]
:arg color: the color of the line
:type color: list [r, g, b]
.. function:: enableMotionBlur(factor)
Enable the motion blur effect.
:arg factor: the ammount of motion blur to display.
:type factor: float [0.0 - 1.0]
.. function:: disableMotionBlur()
Disable the motion blur effect.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,872 @@
# ***** BEGIN GPL LICENSE BLOCK *****
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# Contributor(s): Campbell Barton
#
# #**** END GPL LICENSE BLOCK #****
script_help_msg = '''
Usage:
For HTML generation
-------------------
- Run this script from blenders root path once you have compiled blender
./blender.bin -b -P doc/python_api/sphinx_doc_gen.py
This will generate python files in doc/python_api/sphinx-in/,
assuming that ./blender.bin is or links to the blender executable
- Generate html docs by running...
sphinx-build doc/python_api/sphinx-in doc/python_api/sphinx-out
assuming that you have sphinx 0.6.7 installed
For PDF generation
------------------
- After you have built doc/python_api/sphinx-in (see above), run:
sphinx-build -b latex doc/python_api/sphinx-in doc/python_api/sphinx-out
cd doc/python_api/sphinx-out
make
'''
# import rpdb2; rpdb2.start_embedded_debugger('test')
import os
import inspect
import bpy
import rna_info
reload(rna_info)
# lame, python wont give some access
ClassMethodDescriptorType = type(dict.__dict__['fromkeys'])
MethodDescriptorType = type(dict.get)
GetSetDescriptorType = type(int.real)
EXAMPLE_SET = set()
EXAMPLE_SET_USED = set()
_BPY_STRUCT_FAKE = "bpy_struct"
_BPY_FULL_REBUILD = False
def undocumented_message(module_name, type_name, identifier):
message = "Undocumented (`contribute " \
"<http://wiki.blender.org/index.php/Dev:2.5/Py/API/Documentation/Contribute" \
"?action=edit&section=new&preload=Dev:2.5/Py/API/Documentation/Contribute/Howto-message" \
"&preloadtitle=%s.%s.%s>`_)\n\n" % (module_name, type_name, identifier)
return message
def range_str(val):
'''
Converts values to strings for the range directive.
(unused function it seems)
'''
if val < -10000000: return '-inf'
if val > 10000000: return 'inf'
if type(val)==float:
return '%g' % val
else:
return str(val)
def write_example_ref(ident, fw, example_id, ext="py"):
if example_id in EXAMPLE_SET:
fw("%s.. literalinclude:: ../examples/%s.%s\n\n" % (ident, example_id, ext))
EXAMPLE_SET_USED.add(example_id)
else:
if bpy.app.debug:
print("\tskipping example:", example_id)
def write_indented_lines(ident, fn, text, strip=True):
'''
Apply same indentation to all lines in a multilines text.
'''
if text is None:
return
for l in text.split("\n"):
if strip:
fn(ident + l.strip() + "\n")
else:
fn(ident + l + "\n")
def pymethod2sphinx(ident, fw, identifier, py_func):
'''
class method to sphinx
'''
arg_str = inspect.formatargspec(*inspect.getargspec(py_func))
if arg_str.startswith("(self, "):
arg_str = "(" + arg_str[7:]
func_type = "method"
elif arg_str.startswith("(cls, "):
arg_str = "(" + arg_str[6:]
func_type = "classmethod"
else:
func_type = "staticmethod"
fw(ident + ".. %s:: %s%s\n\n" % (func_type, identifier, arg_str))
if py_func.__doc__:
write_indented_lines(ident + " ", fw, py_func.__doc__)
fw("\n")
def pyfunc2sphinx(ident, fw, identifier, py_func, is_class=True):
'''
function or class method to sphinx
'''
arg_str = inspect.formatargspec(*inspect.getargspec(py_func))
if not is_class:
func_type = "function"
# ther rest are class methods
elif arg_str.startswith("(self, "):
arg_str = "(" + arg_str[7:]
func_type = "method"
elif arg_str.startswith("(cls, "):
arg_str = "(" + arg_str[6:]
func_type = "classmethod"
else:
func_type = "staticmethod"
fw(ident + ".. %s:: %s%s\n\n" % (func_type, identifier, arg_str))
if py_func.__doc__:
write_indented_lines(ident + " ", fw, py_func.__doc__.strip())
fw("\n")
def py_descr2sphinx(ident, fw, descr, module_name, type_name, identifier):
if identifier.startswith("_"):
return
doc = descr.__doc__
if not doc:
doc = undocumented_message(module_name, type_name, identifier)
if type(descr) == GetSetDescriptorType:
fw(ident + ".. attribute:: %s\n\n" % identifier)
write_indented_lines(ident + " ", fw, doc, False)
elif type(descr) in (MethodDescriptorType, ClassMethodDescriptorType):
write_indented_lines(ident, fw, doc, False)
else:
raise TypeError("type was not GetSetDescriptorType, MethodDescriptorType or ClassMethodDescriptorType")
write_example_ref(ident, fw, module_name + "." + type_name + "." + identifier)
fw("\n")
def py_c_func2sphinx(ident, fw, module_name, type_name, identifier, py_func, is_class=True):
'''
c defined function to sphinx.
'''
# dump the docstring, assume its formatted correctly
if py_func.__doc__:
write_indented_lines(ident, fw, py_func.__doc__, False)
fw("\n")
else:
fw(ident + ".. function:: %s()\n\n" % identifier)
fw(ident + " " + undocumented_message(module_name, type_name, identifier))
def pyprop2sphinx(ident, fw, identifier, py_prop):
'''
python property to sphinx
'''
# readonly properties use "data" directive, variables use "attribute" directive
if py_prop.fset is None:
fw(ident + ".. data:: %s\n\n" % identifier)
else:
fw(ident + ".. attribute:: %s\n\n" % identifier)
write_indented_lines(ident + " ", fw, py_prop.__doc__)
if py_prop.fset is None:
fw(ident + " (readonly)\n\n")
def pymodule2sphinx(BASEPATH, module_name, module, title):
import types
attribute_set = set()
filepath = os.path.join(BASEPATH, module_name + ".rst")
file = open(filepath, "w")
fw = file.write
fw(title + "\n")
fw(("=" * len(title)) + "\n\n")
fw(".. module:: %s\n\n" % module_name)
if module.__doc__:
# Note, may contain sphinx syntax, dont mangle!
fw(module.__doc__.strip())
fw("\n\n")
write_example_ref("", fw, module_name)
# write members of the module
# only tested with PyStructs which are not exactly modules
for key, descr in sorted(type(module).__dict__.items()):
if type(descr) == types.MemberDescriptorType:
if descr.__doc__:
fw(".. data:: %s\n\n" % key)
write_indented_lines(" ", fw, descr.__doc__, False)
attribute_set.add(key)
fw("\n")
del key, descr
classes = []
for attribute in sorted(dir(module)):
if not attribute.startswith("_"):
if attribute in attribute_set:
continue
if attribute.startswith("n_"): # annoying exception, needed for bpy.app
continue
value = getattr(module, attribute)
value_type = type(value)
if value_type == types.FunctionType:
pyfunc2sphinx("", fw, attribute, value, is_class=False)
elif value_type in (types.BuiltinMethodType, types.BuiltinFunctionType): # both the same at the moment but to be future proof
# note: can't get args from these, so dump the string as is
# this means any module used like this must have fully formatted docstrings.
py_c_func2sphinx("", fw, module_name, module, attribute, value, is_class=False)
elif value_type == type:
classes.append((attribute, value))
elif value_type in (bool, int, float, str, tuple):
# constant, not much fun we can do here except to list it.
# TODO, figure out some way to document these!
fw(".. data:: %s\n\n" % attribute)
write_indented_lines(" ", fw, "constant value %s" % repr(value), False)
fw("\n")
else:
print("\tnot documenting %s.%s" % (module_name, attribute))
continue
attribute_set.add(attribute)
# TODO, more types...
# write collected classes now
for (type_name, value) in classes:
# May need to be its own function
fw(".. class:: %s\n\n" % type_name)
if value.__doc__:
write_indented_lines(" ", fw, value.__doc__, False)
fw("\n")
write_example_ref(" ", fw, module_name + "." + type_name)
descr_items = [(key, descr) for key, descr in sorted(value.__dict__.items()) if not key.startswith("__")]
for key, descr in descr_items:
if type(descr) == ClassMethodDescriptorType:
py_descr2sphinx(" ", fw, descr, module_name, type_name, key)
for key, descr in descr_items:
if type(descr) == MethodDescriptorType:
py_descr2sphinx(" ", fw, descr, module_name, type_name, key)
for key, descr in descr_items:
if type(descr) == GetSetDescriptorType:
py_descr2sphinx(" ", fw, descr, module_name, type_name, key)
fw("\n\n")
file.close()
def rna2sphinx(BASEPATH):
structs, funcs, ops, props = rna_info.BuildRNAInfo()
try:
os.mkdir(BASEPATH)
except:
pass
# conf.py - empty for now
filepath = os.path.join(BASEPATH, "conf.py")
file = open(filepath, "w")
fw = file.write
version_string = bpy.app.version_string.split("(")[0]
if bpy.app.build_revision != "Unknown":
version_string = version_string + " r" + bpy.app.build_revision
# for use with files
version_string_fp = "_".join(str(v) for v in bpy.app.version)
fw("project = 'Blender'\n")
# fw("master_doc = 'index'\n")
fw("copyright = u'Blender Foundation'\n")
fw("version = '%s - UNSTABLE API'\n" % version_string)
fw("release = '%s - UNSTABLE API'\n" % version_string)
fw("html_theme = 'blender-org'\n")
fw("html_theme_path = ['../']\n")
fw("html_favicon = 'favicon.ico'\n")
# not helpful since the source us generated, adds to upload size.
fw("html_copy_source = False\n")
fw("\n")
# needed for latex, pdf gen
fw("latex_documents = [ ('contents', 'contents.tex', 'Blender Index', 'Blender Foundation', 'manual'), ]\n")
fw("latex_paper_size = 'a4paper'\n")
file.close()
filepath = os.path.join(BASEPATH, "contents.rst")
file = open(filepath, "w")
fw = file.write
fw("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n")
fw(" Blender Documentation contents\n")
fw("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n")
fw("\n")
fw("This document is an API reference for Blender %s. built %s.\n" % (version_string, bpy.app.build_date))
fw("\n")
fw("An introduction to Blender and Python can be found at <http://wiki.blender.org/index.php/Dev:2.5/Py/API/Intro>\n")
fw("\n")
fw("`A PDF version of this document is also available <blender_python_reference_%s.pdf>`__\n" % version_string_fp)
fw("\n")
fw(".. warning:: The Python API in Blender is **UNSTABLE**, It should only be used for testing, any script written now may break in future releases.\n")
fw(" \n")
fw(" The following areas are subject to change.\n")
fw(" * operator names and arguments\n")
fw(" * render api\n")
fw(" * function calls with the data api (any function calls with values accessed from bpy.data), including functions for importing and exporting meshes\n")
fw(" * class registration (Operator, Panels, Menus, Headers)\n")
fw(" * modules: bpy.props, blf)\n")
fw(" * members in the bpy.context have to be reviewed\n")
fw(" * python defined modal operators, especially drawing callbacks are highly experemental\n")
fw(" \n")
fw(" These parts of the API are relatively stable and are unlikely to change significantly\n")
fw(" * data API, access to attributes of blender data such as mesh verts, material color, timeline frames and scene objects\n")
fw(" * user interface functions for defining buttons, creation of menus, headers, panels\n")
fw(" * modules: bgl, mathutils and geometry\n")
fw(" * game engine modules\n")
fw("\n")
fw("===================\n")
fw("Application Modules\n")
fw("===================\n")
fw("\n")
fw(".. toctree::\n")
fw(" :maxdepth: 1\n\n")
fw(" bpy.data.rst\n\n") # note: not actually a module
fw(" bpy.ops.rst\n\n")
fw(" bpy.types.rst\n\n")
# py modules
fw(" bpy.utils.rst\n\n")
fw(" bpy.path.rst\n\n")
fw(" bpy.app.rst\n\n")
# C modules
fw(" bpy.props.rst\n\n")
fw("==================\n")
fw("Standalone Modules\n")
fw("==================\n")
fw("\n")
fw(".. toctree::\n")
fw(" :maxdepth: 1\n\n")
fw(" mathutils.rst\n\n")
fw(" blf.rst\n\n")
fw(" aud.rst\n\n")
# game engine
fw("===================\n")
fw("Game Engine Modules\n")
fw("===================\n")
fw("\n")
fw(".. toctree::\n")
fw(" :maxdepth: 1\n\n")
fw(" bge.types.rst\n\n")
fw(" bge.logic.rst\n\n")
fw(" bge.render.rst\n\n")
fw(" bge.events.rst\n\n")
file.close()
# internal modules
filepath = os.path.join(BASEPATH, "bpy.ops.rst")
file = open(filepath, "w")
fw = file.write
fw("Operators (bpy.ops)\n")
fw("===================\n\n")
fw(".. toctree::\n")
fw(" :glob:\n\n")
fw(" bpy.ops.*\n\n")
file.close()
filepath = os.path.join(BASEPATH, "bpy.types.rst")
file = open(filepath, "w")
fw = file.write
fw("Types (bpy.types)\n")
fw("=================\n\n")
fw(".. toctree::\n")
fw(" :glob:\n\n")
fw(" bpy.types.*\n\n")
file.close()
# not actually a module, only write this file so we
# can reference in the TOC
filepath = os.path.join(BASEPATH, "bpy.data.rst")
file = open(filepath, "w")
fw = file.write
fw("Data Access (bpy.data)\n")
fw("======================\n\n")
fw(".. module:: bpy\n")
fw("\n")
fw("This module is used for all blender/python access.\n")
fw("\n")
fw(".. literalinclude:: ../examples/bpy.data.py\n")
fw("\n")
fw(".. data:: data\n")
fw("\n")
fw(" Access to blenders internal data\n")
fw("\n")
fw(" :type: :class:`bpy.types.BlendData`\n")
file.close()
EXAMPLE_SET_USED.add("bpy.data")
# python modules
from bpy import utils as module
pymodule2sphinx(BASEPATH, "bpy.utils", module, "Utilities (bpy.utils)")
from bpy import path as module
pymodule2sphinx(BASEPATH, "bpy.path", module, "Path Utilities (bpy.path)")
# C modules
from bpy import app as module
pymodule2sphinx(BASEPATH, "bpy.app", module, "Application Data (bpy.app)")
from bpy import props as module
pymodule2sphinx(BASEPATH, "bpy.props", module, "Property Definitions (bpy.props)")
import mathutils as module
pymodule2sphinx(BASEPATH, "mathutils", module, "Math Types & Utilities (mathutils)")
del module
import blf as module
pymodule2sphinx(BASEPATH, "blf", module, "Font Drawing (blf)")
del module
import aud as module
pymodule2sphinx(BASEPATH, "aud", module, "Audio System (aud)")
del module
## game engine
import shutil
# copy2 keeps time/date stamps
shutil.copy2(os.path.join(BASEPATH,"..","rst","bge.types.rst"), BASEPATH)
shutil.copy2(os.path.join(BASEPATH,"..","rst","bge.logic.rst"), BASEPATH)
shutil.copy2(os.path.join(BASEPATH,"..","rst","bge.render.rst"), BASEPATH)
shutil.copy2(os.path.join(BASEPATH,"..","rst","bge.events.rst"), BASEPATH)
if 0:
filepath = os.path.join(BASEPATH, "bpy.rst")
file = open(filepath, "w")
fw = file.write
fw("\n")
title = ":mod:`bpy` --- Blender Python Module"
fw("%s\n%s\n\n" % (title, "=" * len(title)))
fw(".. module:: bpy.types\n\n")
file.close()
def write_param(ident, fw, prop, is_return=False):
if is_return:
id_name = "return"
id_type = "rtype"
kwargs = {"as_ret": True, "class_fmt": ":class:`%s`"}
identifier = ""
else:
id_name = "arg"
id_type = "type"
kwargs = {"as_arg": True, "class_fmt": ":class:`%s`"}
identifier = " %s" % prop.identifier
type_descr = prop.get_type_description(**kwargs)
if prop.name or prop.description:
fw(ident + ":%s%s: %s\n" % (id_name, identifier, ", ".join(val for val in (prop.name, prop.description) if val)))
fw(ident + ":%s%s: %s\n" % (id_type, identifier, type_descr))
def write_struct(struct):
#if not struct.identifier.startswith("Sc") and not struct.identifier.startswith("I"):
# return
#if not struct.identifier == "Object":
# return
filepath = os.path.join(BASEPATH, "bpy.types.%s.rst" % struct.identifier)
file = open(filepath, "w")
fw = file.write
base_id = getattr(struct.base, "identifier", "")
if _BPY_STRUCT_FAKE:
if not base_id:
base_id = _BPY_STRUCT_FAKE
if base_id:
title = "%s(%s)" % (struct.identifier, base_id)
else:
title = struct.identifier
fw("%s\n%s\n\n" % (title, "=" * len(title)))
fw(".. module:: bpy.types\n\n")
base_ids = [base.identifier for base in struct.get_bases()]
if _BPY_STRUCT_FAKE:
base_ids.append(_BPY_STRUCT_FAKE)
base_ids.reverse()
if base_ids:
if len(base_ids) > 1:
fw("base classes --- ")
else:
fw("base class --- ")
fw(", ".join((":class:`%s`" % base_id) for base_id in base_ids))
fw("\n\n")
subclass_ids = [s.identifier for s in structs.values() if s.base is struct if not rna_info.rna_id_ignore(s.identifier)]
if subclass_ids:
fw("subclasses --- \n" + ", ".join((":class:`%s`" % s) for s in subclass_ids) + "\n\n")
base_id = getattr(struct.base, "identifier", "")
if _BPY_STRUCT_FAKE:
if not base_id:
base_id = _BPY_STRUCT_FAKE
if base_id:
fw(".. class:: %s(%s)\n\n" % (struct.identifier, base_id))
else:
fw(".. class:: %s\n\n" % struct.identifier)
fw(" %s\n\n" % struct.description)
# properties sorted in alphabetical order
sorted_struct_properties = struct.properties[:]
sorted_struct_properties.sort(key=lambda prop: prop.identifier)
for prop in sorted_struct_properties:
type_descr = prop.get_type_description(class_fmt=":class:`%s`")
# readonly properties use "data" directive, variables properties use "attribute" directive
if 'readonly' in type_descr:
fw(" .. data:: %s\n\n" % prop.identifier)
else:
fw(" .. attribute:: %s\n\n" % prop.identifier)
if prop.description:
fw(" %s\n\n" % prop.description)
fw(" :type: %s\n\n" % type_descr)
# python attributes
py_properties = struct.get_py_properties()
py_prop = None
for identifier, py_prop in py_properties:
pyprop2sphinx(" ", fw, identifier, py_prop)
del py_properties, py_prop
for func in struct.functions:
args_str = ", ".join(prop.get_arg_default(force=False) for prop in func.args)
fw(" .. %s:: %s(%s)\n\n" % ("classmethod" if func.is_classmethod else "method", func.identifier, args_str))
fw(" %s\n\n" % func.description)
for prop in func.args:
write_param(" ", fw, prop)
if len(func.return_values) == 1:
write_param(" ", fw, func.return_values[0], is_return=True)
elif func.return_values: # multiple return values
fw(" :return (%s):\n" % ", ".join(prop.identifier for prop in func.return_values))
for prop in func.return_values:
type_descr = prop.get_type_description(as_ret=True, class_fmt=":class:`%s`")
descr = prop.description
if not descr:
descr = prop.name
fw(" `%s`, %s, %s\n\n" % (prop.identifier, descr, type_descr))
fw("\n")
# python methods
py_funcs = struct.get_py_functions()
py_func = None
for identifier, py_func in py_funcs:
pyfunc2sphinx(" ", fw, identifier, py_func, is_class=True)
del py_funcs, py_func
lines = []
if struct.base or _BPY_STRUCT_FAKE:
bases = list(reversed(struct.get_bases()))
# props
lines[:] = []
if _BPY_STRUCT_FAKE:
descr_items = [(key, descr) for key, descr in sorted(bpy.types.Struct.__bases__[0].__dict__.items()) if not key.startswith("__")]
if _BPY_STRUCT_FAKE:
for key, descr in descr_items:
if type(descr) == GetSetDescriptorType:
lines.append(" * :class:`%s.%s`\n" % (_BPY_STRUCT_FAKE, key))
for base in bases:
for prop in base.properties:
lines.append(" * :class:`%s.%s`\n" % (base.identifier, prop.identifier))
for identifier, py_prop in base.get_py_properties():
lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
for identifier, py_prop in base.get_py_properties():
lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
if lines:
fw(".. rubric:: Inherited Properties\n\n")
fw(".. hlist::\n")
fw(" :columns: 2\n\n")
for line in lines:
fw(line)
fw("\n")
# funcs
lines[:] = []
if _BPY_STRUCT_FAKE:
for key, descr in descr_items:
if type(descr) == MethodDescriptorType:
lines.append(" * :class:`%s.%s`\n" % (_BPY_STRUCT_FAKE, key))
for base in bases:
for func in base.functions:
lines.append(" * :class:`%s.%s`\n" % (base.identifier, func.identifier))
for identifier, py_func in base.get_py_functions():
lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
if lines:
fw(".. rubric:: Inherited Functions\n\n")
fw(".. hlist::\n")
fw(" :columns: 2\n\n")
for line in lines:
fw(line)
fw("\n")
lines[:] = []
if struct.references:
# use this otherwise it gets in the index for a normal heading.
fw(".. rubric:: References\n\n")
fw(".. hlist::\n")
fw(" :columns: 2\n\n")
for ref in struct.references:
ref_split = ref.split(".")
if len(ref_split) > 2:
ref = ref_split[-2] + "." + ref_split[-1]
fw(" * :class:`%s`\n" % ref)
fw("\n")
for struct in structs.values():
# TODO, rna_info should filter these out!
if "_OT_" in struct.identifier:
continue
write_struct(struct)
# special case, bpy_struct
if _BPY_STRUCT_FAKE:
filepath = os.path.join(BASEPATH, "bpy.types.%s.rst" % _BPY_STRUCT_FAKE)
file = open(filepath, "w")
fw = file.write
fw("%s\n" % _BPY_STRUCT_FAKE)
fw("=" * len(_BPY_STRUCT_FAKE) + "\n")
fw("\n")
fw(".. module:: bpy.types\n")
fw("\n")
subclass_ids = [s.identifier for s in structs.values() if s.base is None if not rna_info.rna_id_ignore(s.identifier)]
if subclass_ids:
fw("subclasses --- \n" + ", ".join((":class:`%s`" % s) for s in sorted(subclass_ids)) + "\n\n")
fw(".. class:: %s\n\n" % _BPY_STRUCT_FAKE)
fw(" built-in base class for all classes in bpy.types.\n\n")
fw(" .. note::\n\n")
fw(" Note that bpy.types.%s is not actually available from within blender, it only exists for the purpose of documentation.\n\n" % _BPY_STRUCT_FAKE)
descr_items = [(key, descr) for key, descr in sorted(bpy.types.Struct.__bases__[0].__dict__.items()) if not key.startswith("__")]
for key, descr in descr_items:
if type(descr) == MethodDescriptorType: # GetSetDescriptorType, GetSetDescriptorType's are not documented yet
py_descr2sphinx(" ", fw, descr, "bpy.types", _BPY_STRUCT_FAKE, key)
for key, descr in descr_items:
if type(descr) == GetSetDescriptorType:
py_descr2sphinx(" ", fw, descr, "bpy.types", _BPY_STRUCT_FAKE, key)
# operators
def write_ops():
API_BASEURL='https://svn.blender.org/svnroot/bf-blender/trunk/blender/release/scripts'
fw = None
last_mod = ''
for op_key in sorted(ops.keys()):
op = ops[op_key]
if last_mod != op.module_name:
filepath = os.path.join(BASEPATH, "bpy.ops.%s.rst" % op.module_name)
file = open(filepath, "w")
fw = file.write
title = "%s Operators" % (op.module_name[0].upper() + op.module_name[1:])
fw("%s\n%s\n\n" % (title, "=" * len(title)))
fw(".. module:: bpy.ops.%s\n\n" % op.module_name)
last_mod = op.module_name
args_str = ", ".join(prop.get_arg_default(force=True) for prop in op.args)
fw(".. function:: %s(%s)\n\n" % (op.func_name, args_str))
# if the description isn't valid, we output the standard warning
# with a link to the wiki so that people can help
if not op.description or op.description == "(undocumented operator)":
operator_description = undocumented_message('bpy.ops',op.module_name,op.func_name)
else:
operator_description = op.description
fw(" %s\n\n" % operator_description)
for prop in op.args:
write_param(" ", fw, prop)
if op.args:
fw("\n")
location = op.get_location()
if location != (None, None):
fw(" :file: `%s <%s/%s>`_:%d\n\n" % (location[0],API_BASEURL,location[0],location[1]))
write_ops()
file.close()
def main():
import bpy
if 'bpy' not in dir():
print("\nError, this script must run from inside blender2.5")
print(script_help_msg)
else:
import shutil
script_dir = os.path.dirname(__file__)
path_in = os.path.join(script_dir,'sphinx-in')
path_out = os.path.join(script_dir,'sphinx-out')
path_examples = os.path.join(script_dir,'examples')
# only for partial updates
path_in_tmp = path_in + "-tmp"
if not os.path.exists(path_in):
os.mkdir(path_in)
for f in os.listdir(path_examples):
if f.endswith(".py"):
EXAMPLE_SET.add(os.path.splitext(f)[0])
# only for full updates
if _BPY_FULL_REBUILD:
shutil.rmtree(path_in, True)
shutil.rmtree(path_out, True)
else:
# write here, then move
shutil.rmtree(path_in_tmp, True)
rna2sphinx(path_in_tmp)
if not _BPY_FULL_REBUILD:
import filecmp
# now move changed files from 'path_in_tmp' --> 'path_in'
file_list_path_in = set(os.listdir(path_in))
file_list_path_in_tmp = set(os.listdir(path_in_tmp))
# remove deprecated files that have been removed.
for f in sorted(file_list_path_in):
if f not in file_list_path_in_tmp:
print("\tdeprecated: %s" % f)
os.remove(os.path.join(path_in, f))
# freshen with new files.
for f in sorted(file_list_path_in_tmp):
f_from = os.path.join(path_in_tmp, f)
f_to = os.path.join(path_in, f)
do_copy = True
if f in file_list_path_in:
if filecmp.cmp(f_from, f_to):
do_copy = False
if do_copy:
print("\tupdating: %s" % f)
shutil.copy(f_from, f_to)
'''else:
print("\tkeeping: %s" % f) # eh, not that useful'''
EXAMPLE_SET_UNUSED = EXAMPLE_SET - EXAMPLE_SET_USED
if EXAMPLE_SET_UNUSED:
print("\nUnused examples found in '%s'..." % path_examples)
for f in EXAMPLE_SET_UNUSED:
print(" %s.py" % f)
print(" %d total\n" % len(EXAMPLE_SET_UNUSED))
import sys
sys.exit()
if __name__ == '__main__':
main()

View File

@@ -0,0 +1,37 @@
#!/bin/sh
# run from the blender source dir
# bash source/blender/python/doc/sphinx_doc_gen.sh
# ssh upload means you need an account on the server
BLENDER="./blender.bin"
SSH_HOST="ideasman42@emo.blender.org"
SSH_UPLOAD="/data/www/vhosts/www.blender.org/documentation" # blender_python_api_VERSION, added after
# sed string from hell, 'Blender 2.53 (sub 1) Build' --> '2_53_1'
# "_".join(str(v) for v in bpy.app.version)
# custom blender vars
blender_srcdir=$(dirname $0)/../../
blender_version=$(grep BLENDER_VERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
blender_subversion=$(grep BLENDER_SUBVERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | tr -dc 0-9)
BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)_$blender_subversion
BLENDER_VERSION=`$BLENDER --version | cut -f2-4 -d" " | sed 's/(//g' | sed 's/)//g' | sed 's/ sub /./g' | sed 's/\./_/g'`
SSH_UPLOAD_FULL=$SSH_UPLOAD/"blender_python_api_"$BLENDER_VERSION
SPHINXBASE=doc/python_api/
# dont delete existing docs, now partial updates are used for quick builds.
$BLENDER --background --python $SPHINXBASE/sphinx_doc_gen.py
# html
sphinx-build $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out
cp $SPHINXBASE/sphinx-out/contents.html $SPHINXBASE/sphinx-out/index.html
ssh ideasman42@emo.blender.org 'rm -rf '$SSH_UPLOAD_FULL'/*'
rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/* $SSH_HOST:$SSH_UPLOAD_FULL/
# pdf
sphinx-build -b latex $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out
cd $SPHINXBASE/sphinx-out
make
cd -
rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/contents.pdf $SSH_HOST:$SSH_UPLOAD_FULL/blender_python_reference_$BLENDER_VERSION.pdf

View File

@@ -24,6 +24,9 @@
#
# ***** END GPL LICENSE BLOCK *****
# Otherwise we get warnings here that we cant fix in external projects
STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
IF(WITH_BULLET)
ADD_SUBDIRECTORY(bullet2)
ENDIF(WITH_BULLET)
@@ -34,9 +37,9 @@ ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
ADD_SUBDIRECTORY(glew)
IF(WITH_OPENJPEG)
IF(WITH_IMAGE_OPENJPEG)
ADD_SUBDIRECTORY(libopenjpeg)
ENDIF(WITH_OPENJPEG)
ENDIF(WITH_IMAGE_OPENJPEG)
IF(WITH_LZO)
ADD_SUBDIRECTORY(lzo)
@@ -45,3 +48,5 @@ ENDIF(WITH_LZO)
IF(WITH_LZMA)
ADD_SUBDIRECTORY(lzma)
ENDIF(WITH_LZMA)
ADD_SUBDIRECTORY(ptex)

11
extern/SConscript vendored
View File

@@ -3,16 +3,11 @@
Import('env')
SConscript(['glew/SConscript'])
SConscript(['ptex/SConscript'])
if env['WITH_BF_BULLET']:
SConscript(['bullet2/src/SConscript'])
if env['WITH_BF_FFMPEG'] and env['BF_FFMPEG_LIB'] == '':
SConscript(['x264/SConscript'])
SConscript(['libmp3lame/SConscript'])
SConscript(['xvidcore/SConscript'])
SConscript(['ffmpeg/SConscript'])
if env['WITH_BF_OPENJPEG'] and env['BF_OPENJPEG_LIB'] == '':
SConscript(['libopenjpeg/SConscript'])
@@ -23,7 +18,7 @@ if env['OURPLATFORM'] == 'linux2':
SConscript(['binreloc/SConscript']);
if env['WITH_BF_LZO']:
SConscript(['lzo/SConscript'])
SConscript(['lzo/SConscript'])
if env['WITH_BF_LZMA']:
SConscript(['lzma/SConscript'])
SConscript(['lzma/SConscript'])

View File

@@ -18,9 +18,15 @@
# All rights reserved.
#
SET(INC ./include )
SET(SRC
binreloc.c
)
SET(INC
./include
)
ADD_DEFINITIONS(-DENABLE_BINRELOC)
FILE(GLOB SRC *.c)
BLENDERLIB(extern_binreloc "${SRC}" "${INC}")
#, libtype=['core','player'], priority = [25,15] )

View File

@@ -30,22 +30,9 @@ m_ownsBvh(false)
//construct bvh from meshInterface
#ifndef DISABLE_BVH
btVector3 bvhAabbMin,bvhAabbMax;
if(meshInterface->hasPremadeAabb())
{
meshInterface->getPremadeAabb(&bvhAabbMin, &bvhAabbMax);
}
else
{
meshInterface->calculateAabbBruteForce(bvhAabbMin,bvhAabbMax);
}
if (buildBvh)
{
void* mem = btAlignedAlloc(sizeof(btOptimizedBvh),16);
m_bvh = new (mem) btOptimizedBvh();
m_bvh->build(meshInterface,m_useQuantizedAabbCompression,bvhAabbMin,bvhAabbMax);
m_ownsBvh = true;
buildOptimizedBvh();
}
#endif //DISABLE_BVH
@@ -343,20 +330,25 @@ void btBvhTriangleMeshShape::setLocalScaling(const btVector3& scaling)
if ((getLocalScaling() -scaling).length2() > SIMD_EPSILON)
{
btTriangleMeshShape::setLocalScaling(scaling);
if (m_ownsBvh)
{
m_bvh->~btOptimizedBvh();
btAlignedFree(m_bvh);
}
///m_localAabbMin/m_localAabbMax is already re-calculated in btTriangleMeshShape. We could just scale aabb, but this needs some more work
void* mem = btAlignedAlloc(sizeof(btOptimizedBvh),16);
m_bvh = new(mem) btOptimizedBvh();
//rebuild the bvh...
m_bvh->build(m_meshInterface,m_useQuantizedAabbCompression,m_localAabbMin,m_localAabbMax);
m_ownsBvh = true;
buildOptimizedBvh();
}
}
void btBvhTriangleMeshShape::buildOptimizedBvh()
{
if (m_ownsBvh)
{
m_bvh->~btOptimizedBvh();
btAlignedFree(m_bvh);
}
///m_localAabbMin/m_localAabbMax is already re-calculated in btTriangleMeshShape. We could just scale aabb, but this needs some more work
void* mem = btAlignedAlloc(sizeof(btOptimizedBvh),16);
m_bvh = new(mem) btOptimizedBvh();
//rebuild the bvh...
m_bvh->build(m_meshInterface,m_useQuantizedAabbCompression,m_localAabbMin,m_localAabbMax);
m_ownsBvh = true;
}
void btBvhTriangleMeshShape::setOptimizedBvh(btOptimizedBvh* bvh, const btVector3& scaling)
{
btAssert(!m_bvh);

View File

@@ -76,6 +76,8 @@ public:
void setOptimizedBvh(btOptimizedBvh* bvh, const btVector3& localScaling=btVector3(1,1,1));
void buildOptimizedBvh();
bool usesQuantizedAabbCompression() const
{
return m_useQuantizedAabbCompression;

View File

@@ -24,12 +24,13 @@ btConvexHullShape ::btConvexHullShape (const btScalar* points,int numPoints,int
m_shapeType = CONVEX_HULL_SHAPE_PROXYTYPE;
m_unscaledPoints.resize(numPoints);
unsigned char* pointsBaseAddress = (unsigned char*)points;
unsigned char* pointsAddress = (unsigned char*)points;
for (int i=0;i<numPoints;i++)
{
btVector3* point = (btVector3*)(pointsBaseAddress + i*stride);
m_unscaledPoints[i] = point[0];
btScalar* point = (btScalar*)pointsAddress;
m_unscaledPoints[i] = btVector3(point[0], point[1], point[2]);
pointsAddress += stride;
}
recalcLocalAabb();

View File

@@ -601,7 +601,7 @@ void btConeTwistConstraint::calcAngleInfo2()
m_solveSwingLimit = false;
// compute rotation of A wrt B (in constraint space)
if (m_bMotorEnabled && (!m_useSolveConstraintObsolete))
{ // it is assumed that setMotorTarget() was alredy called
{ // it is assumed that setMotorTarget() was already called
// and motor target m_qTarget is within constraint limits
// TODO : split rotation to pure swing and pure twist
// compute desired transforms in world

View File

@@ -1,4 +1,4 @@
/*
/***************************************************************************************************
**

View File

@@ -24,10 +24,12 @@
#
# ***** END GPL LICENSE BLOCK *****
SET(INC include src)
SET(INC
./include
)
IF(UNIX)
SET(INC ${INC} ${X11_X11_INCLUDE_PATH})
LIST(APPEND INC ${X11_X11_INCLUDE_PATH})
ENDIF(UNIX)
SET(SRC
@@ -37,4 +39,3 @@ SET(SRC
ADD_DEFINITIONS(-DGLEW_STATIC)
BLENDERLIB(extern_glew "${SRC}" "${INC}")

View File

@@ -2702,7 +2702,7 @@ typedef GLenum (GLAPIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
typedef void (GLAPIENTRY * PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint* framebuffers);
typedef void (GLAPIENTRY * PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint* renderbuffers);
typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURLAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer);
typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target,GLenum attachment, GLuint texture,GLint level,GLint layer);
typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE1DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
typedef void (GLAPIENTRY * PFNGLFRAMEBUFFERTEXTURE3DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer);
@@ -2723,7 +2723,7 @@ typedef void (GLAPIENTRY * PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum targ
#define glDeleteFramebuffers GLEW_GET_FUN(__glewDeleteFramebuffers)
#define glDeleteRenderbuffers GLEW_GET_FUN(__glewDeleteRenderbuffers)
#define glFramebufferRenderbuffer GLEW_GET_FUN(__glewFramebufferRenderbuffer)
#define glFramebufferTexturLayer GLEW_GET_FUN(__glewFramebufferTexturLayer)
#define glFramebufferTextureLayer GLEW_GET_FUN(__glewFramebufferTextureLayer)
#define glFramebufferTexture1D GLEW_GET_FUN(__glewFramebufferTexture1D)
#define glFramebufferTexture2D GLEW_GET_FUN(__glewFramebufferTexture2D)
#define glFramebufferTexture3D GLEW_GET_FUN(__glewFramebufferTexture3D)
@@ -8288,7 +8288,6 @@ typedef void (GLAPIENTRY * PFNGLGETVIDEOUI64VNVPROC) (GLuint video_slot, GLenum
typedef void (GLAPIENTRY * PFNGLGETVIDEOUIVNVPROC) (GLuint video_slot, GLenum pname, GLuint* params);
typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEDUALFILLNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
typedef void (GLAPIENTRY * PFNGLPRESENTFRAMEKEYEDNVPROC) (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
typedef void (GLAPIENTRY * PFNGLVIDEOPARAMETERIVNVPROC) (GLuint video_slot, GLenum pname, const GLint* params);
#define glGetVideoi64vNV GLEW_GET_FUN(__glewGetVideoi64vNV)
#define glGetVideoivNV GLEW_GET_FUN(__glewGetVideoivNV)
@@ -10563,7 +10562,7 @@ GLEW_FUN_EXPORT PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus;
GLEW_FUN_EXPORT PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers;
GLEW_FUN_EXPORT PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers;
GLEW_FUN_EXPORT PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer;
GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURLAYERPROC __glewFramebufferTexturLayer;
GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer;
GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D;
GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D;
GLEW_FUN_EXPORT PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D;
@@ -11612,7 +11611,6 @@ GLEW_FUN_EXPORT PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV;
GLEW_FUN_EXPORT PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV;
GLEW_FUN_EXPORT PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV;
GLEW_FUN_EXPORT PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV;
GLEW_FUN_EXPORT PFNGLVIDEOPARAMETERIVNVPROC __glewVideoParameterivNV;
GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV;
GLEW_FUN_EXPORT PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV;

View File

@@ -547,7 +547,7 @@ PFNGLCHECKFRAMEBUFFERSTATUSPROC __glewCheckFramebufferStatus = NULL;
PFNGLDELETEFRAMEBUFFERSPROC __glewDeleteFramebuffers = NULL;
PFNGLDELETERENDERBUFFERSPROC __glewDeleteRenderbuffers = NULL;
PFNGLFRAMEBUFFERRENDERBUFFERPROC __glewFramebufferRenderbuffer = NULL;
PFNGLFRAMEBUFFERTEXTURLAYERPROC __glewFramebufferTexturLayer = NULL;
PFNGLFRAMEBUFFERTEXTURELAYERPROC __glewFramebufferTextureLayer = NULL;
PFNGLFRAMEBUFFERTEXTURE1DPROC __glewFramebufferTexture1D = NULL;
PFNGLFRAMEBUFFERTEXTURE2DPROC __glewFramebufferTexture2D = NULL;
PFNGLFRAMEBUFFERTEXTURE3DPROC __glewFramebufferTexture3D = NULL;
@@ -1596,7 +1596,6 @@ PFNGLGETVIDEOUI64VNVPROC __glewGetVideoui64vNV = NULL;
PFNGLGETVIDEOUIVNVPROC __glewGetVideouivNV = NULL;
PFNGLPRESENTFRAMEDUALFILLNVPROC __glewPresentFrameDualFillNV = NULL;
PFNGLPRESENTFRAMEKEYEDNVPROC __glewPresentFrameKeyedNV = NULL;
PFNGLVIDEOPARAMETERIVNVPROC __glewVideoParameterivNV = NULL;
PFNGLPRIMITIVERESTARTINDEXNVPROC __glewPrimitiveRestartIndexNV = NULL;
PFNGLPRIMITIVERESTARTNVPROC __glewPrimitiveRestartNV = NULL;
@@ -2739,7 +2738,7 @@ static GLboolean _glewInit_GL_ARB_framebuffer_object (GLEW_CONTEXT_ARG_DEF_INIT)
r = ((glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteFramebuffers")) == NULL) || r;
r = ((glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC)glewGetProcAddress((const GLubyte*)"glDeleteRenderbuffers")) == NULL) || r;
r = ((glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferRenderbuffer")) == NULL) || r;
r = ((glFramebufferTexturLayer = (PFNGLFRAMEBUFFERTEXTURLAYERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexturLayer")) == NULL) || r;
r = ((glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTextureLayer")) == NULL) || r;
r = ((glFramebufferTexture1D = (PFNGLFRAMEBUFFERTEXTURE1DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture1D")) == NULL) || r;
r = ((glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture2D")) == NULL) || r;
r = ((glFramebufferTexture3D = (PFNGLFRAMEBUFFERTEXTURE3DPROC)glewGetProcAddress((const GLubyte*)"glFramebufferTexture3D")) == NULL) || r;
@@ -5303,7 +5302,6 @@ static GLboolean _glewInit_GL_NV_present_video (GLEW_CONTEXT_ARG_DEF_INIT)
r = ((glGetVideouivNV = (PFNGLGETVIDEOUIVNVPROC)glewGetProcAddress((const GLubyte*)"glGetVideouivNV")) == NULL) || r;
r = ((glPresentFrameDualFillNV = (PFNGLPRESENTFRAMEDUALFILLNVPROC)glewGetProcAddress((const GLubyte*)"glPresentFrameDualFillNV")) == NULL) || r;
r = ((glPresentFrameKeyedNV = (PFNGLPRESENTFRAMEKEYEDNVPROC)glewGetProcAddress((const GLubyte*)"glPresentFrameKeyedNV")) == NULL) || r;
r = ((glVideoParameterivNV = (PFNGLVIDEOPARAMETERIVNVPROC)glewGetProcAddress((const GLubyte*)"glVideoParameterivNV")) == NULL) || r;
return r;
}

View File

@@ -24,9 +24,7 @@
#
# ***** END GPL LICENSE BLOCK *****
SET(INC . src)
SET(INC .)
FILE(GLOB SRC *.c except t1_generate_luts.c)
ADD_DEFINITIONS(-DWITH_OPENJPEG)
BLENDERLIB(extern_libopenjpeg "${SRC}" "${INC}")
#, libtype=['international','player'], priority=[5, 210])
FILE(GLOB SRC *.c)
BLENDERLIB(extern_openjpeg "${SRC}" "${INC}")

View File

@@ -11,15 +11,15 @@ flags = []
defs = []
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
flags = []
defs.append('OPJ_STATIC')
flags = []
defs.append('OPJ_STATIC')
else:
flags = ['-Wall', '-O3', '-ffast-math', '-std=c99']
flags = ['-Wall', '-O3', '-ffast-math', '-std=c99']
oj_env = env.Clone()
if not env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
oj_env.Replace(CCFLAGS = '')
oj_env.Replace(BF_DEBUG_FLAGS = '')
oj_env.Replace(CCFLAGS = '')
oj_env.Replace(BF_DEBUG_FLAGS = '')
oj_env.BlenderLib ( libname='extern_openjpeg',
sources=sources, includes=Split(incs),

View File

@@ -610,7 +610,7 @@ static void v4dwt_decode_step1_sse(v4* w, int count, const __m128 c){
int i;
for(i = 0; i < count; ++i){
__m128 tmp = vw[i*2];
vw[i*2] = tmp * c;
vw[i*2] = _mm_mul_ps(tmp, c);
}
}
@@ -622,18 +622,18 @@ static void v4dwt_decode_step2_sse(v4* l, v4* w, int k, int m, __m128 c){
__m128 tmp1 = vl[ 0];
__m128 tmp2 = vw[-1];
__m128 tmp3 = vw[ 0];
vw[-1] = tmp2 + ((tmp1 + tmp3) * c);
vw[-1] = _mm_add_ps(tmp2, _mm_mul_ps(_mm_add_ps(tmp1, tmp3), c));
vl = vw;
vw += 2;
}
if(m >= k){
return;
}
c += c;
c *= vl[0];
c = _mm_add_ps(c, c);
c = _mm_mul_ps(c, vl[0]);
for(; m < k; ++m){
__m128 tmp = vw[-1];
vw[-1] = tmp + c;
vw[-1] = _mm_add_ps(tmp, c);
vw += 2;
}
}

View File

@@ -76,7 +76,7 @@ Allocate memory aligned to a 16 byte boundry
#if defined(__sun)
#define HAVE_MEMALIGN
#elif defined(__GNUC__)
#ifndef __APPLE__
#if !defined(__APPLE__) && !defined(__FreeBSD__)
#define HAVE_MEMALIGN
#include <malloc.h>
#endif

13
extern/libopenjpeg/patches/fbsd.patch vendored Normal file
View File

@@ -0,0 +1,13 @@
Index: extern/libopenjpeg/opj_malloc.h
===================================================================
--- extern/libopenjpeg/opj_malloc.h (revision 27736)
+++ extern/libopenjpeg/opj_malloc.h (working copy)
@@ -76,7 +76,7 @@
#if defined(__sun)
#define HAVE_MEMALIGN
#elif defined(__GNUC__)
- #ifndef __APPLE__
+ #if !defined(__APPLE__) && !defined(__FreeBSD__)
#define HAVE_MEMALIGN
#include <malloc.h>
#endif

View File

@@ -28,7 +28,4 @@ SET(INC . )
FILE(GLOB SRC ./*.c)
BLENDERLIB(bf_lzma "${SRC}" "${INC}")
#, libtype='blender', priority = 0 )
BLENDERLIB(extern_lzma "${SRC}" "${INC}")

View File

@@ -6,4 +6,4 @@ sources = env.Glob('./*.c')
defs = ''
incs = ' . '
env.BlenderLib ('bf_lzma', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )
env.BlenderLib ('extern_lzma', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )

View File

@@ -25,10 +25,6 @@
# ***** END GPL LICENSE BLOCK *****
SET(INC include)
SET(SRC minilzo/minilzo.c)
FILE(GLOB SRC minilzo/*.c)
BLENDERLIB(bf_minilzo "${SRC}" "${INC}")
#, libtype='blender', priority = 0 )
BLENDERLIB(extern_minilzo "${SRC}" "${INC}")

View File

@@ -6,4 +6,4 @@ sources = env.Glob('minilzo/*.c')
defs = ''
incs = ' include '
env.BlenderLib ('bf_minilzo', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )
env.BlenderLib ('extern_minilzo', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )

View File

@@ -1,5 +1,5 @@
#
# $Id:
# $Id$
#
# ***** BEGIN GPL LICENSE BLOCK *****
#

20
extern/ptex/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,20 @@
SET(INC ${ZLIB_INC} src .)
SET(SRC
src/ptex/PtexCache.cpp
src/ptex/PtexFilters.cpp
src/ptex/PtexHalf.cpp
src/ptex/PtexReader.cpp
src/ptex/PtexSeparableFilter.cpp
src/ptex/PtexSeparableKernel.cpp
src/ptex/PtexTriangleFilter.cpp
src/ptex/PtexTriangleKernel.cpp
src/ptex/PtexUtils.cpp
src/ptex/PtexWriter.cpp
ptex_C_api.cpp
)
ADD_DEFINITIONS(-DPTEX_STATIC)
BLENDERLIB(extern_ptex "${SRC}" "${INC}")

Some files were not shown because too many files have changed in this diff Show More