It seemed trivial enough, so I updated all systems (makefiles, xcode, scons, scons win installer), please complain if something went wrong. Mostly it was just removing release/bpydata references, since the release/scripts dir is already worked on recursevely, handling dirs inside it.
For the scons nsi file writer script I had to write code for each new dir, but it can be recoded recursively, too (in fact joining all release stuff in a single dir tree with nothing else would be a good idea, making installation code simpler). Since it's just python and I have a little more time now, I can help scons managers if they still need.
Thanks Campbell Barton for reporting.
When curve objects have no front/back faces, the bevels were only drawn
for the outer part. Now it also makes interior bevels, so yo can
have a curve become a 'solid' ring easily.
Note: only works when you disable filling option "Front" and "Back".
- after grab/duplicate the softbody didn't get a reset signal
- added 'copy properties' for softbody settings
- duplicate object didn't copy softbody yet
- Added browsing for vertex group for "Goal" in SoftBody buttons.
- Means the default name "SOFTGOAL" isn't needed anymore
- temporally, on file read, the "SOFTGOAL" vertex group is set, if exists
- removing vertex group possible too
- changed softbody.c code to use this
Scripts:
- Thanks Jean-Michel Soler (jms) for updated versions of dispaint, fixfromarmature and unweld (also renamed to remove version part).
- Thanks Bart for the upgraded VRML exporter (great doc webpage!). It is available as VRML 97 and the original VRML 2 is for now still there, to help users testing the new version. For the next release the old one should be removed, of course.
- New script: Scripts Config Editor (Scripts win -> Scripts -> System). Scripts with config options (simple data that is to be set according to user needs or preferences) can use this facility instead of providing a gui and writing config files to disk themselves.
- Added new menu: System, available in the Scripts win.
- Updated sys_info.py, help_browse.py and the AC3D importer and exporter.
- Removed use of the Scrollbar and added arrow keys and mouse wheel support instead in Daniel Dunbar's old doc_browser.py. The scrollbar events handling doesn't exist, Ton suggested removing the scrollbar from the API months ago. For now its ref doc is gone and no bundled script uses it, until we get time to implement it properly.
- Added module BPyRegistry.py with functions to handle reading / writing config files automatically to the scripts/bpydata/config dir.
- Removing dir release/bpydata and its contents (moved earlier to release/scripts/bpydata/)
- Bug #2379: made small changes to bevel_center's ui to fix a problem reported by Alexander Ewering (intrr):
http://projects.blender.org/tracker/?func=detail&atid=125&aid=2379&group_id=9
BPython:
- Thanks Campbell Barton for new functionality: Blender.Get() now can also return all the paths from the user prefs -> file paths win and there is a new function: Blender.sys.expandpath() to transform Blender paths (those starting with '//' and ending with '#') to absolute paths.
- Added function Blender.ShowHelp(), to open the Scripts Help Browser with a given help page -- just a time saver for scripts.
- Improved function Blender.Run() to also work with gui and file select scripts.
- Found a (new?) crash related to NMesh.PutRaw when creating a new object while in edit mode. Leaving / entering edit mode fixes the problem, so a check for obj created, edit mode and leaving / re-entering it were added to the code for now (gdb didn't help much, no backtrace)
- doc updates, including splitting intro page in two, with bpython related stuff (registering / documenting / configuring scripts and command line mode (thanks Chris Want for "use system variables to pass parameters to scripts" idea).
- Registry: functions have been updated to support writing to / reading from disk, for the config editor -- only simple config data supported, for large amounts coders should write to a file themselves. This is done with a new parameter: Registry.GetKey(keyname, True) will also search for the key on the config dir, if not already loaded; equiv. for Registry.SetKey(keyname, dict, True). Data is only written to / read from disk when needed and only scripts already used (assuming they support this functionality) will have config data saved.
Also adds docs for above API.
My testing cases seem to work fine. Please test to make sure I have not
missed anything!
Stivs, I got ascotan's signoff on thses. But please make any adjustments that
you deem needed.
Johnny
I can now say that I declared it fixed erroneously before, and
I hope that when I call it fixed now it can really, truly be laid
to rest.
Sometimes when you escape a transform on an object that is the
target of an IK constraint on an armature bone, the rotations were
not restored correctly on the bones in the IK chain. This commit
fixes this problem in a rather brute force manner.
so we can decide later what proper timing is meant to be.
i've prepared something in static float sb_time_scale(Object *ob) [softbody.c] (ton :) )
'hacked in' particle collision system to match softbodies needs
naa .. i don't realy like the hack to int pdDoDeflection(..) in kernel .. effect.c (but it works :) )
so .. until we'll have a 'nice' collision detector this is what 'softbodies simulator can live with'
did not remove intentionally test function static int sb_deflect_test(..) for further discussions
http://mitglied.lycos.de/mosebjorn/hidden/ sbcol6.blend should work for a while
The addition in 2.36 to correct bumpmapping for View and Object rotation,
made many nice bumpmap setups in older files less nice. Especially apparent
when you apply "flipped" mappings in "Map Input" Panel, like map the X to Z
and the Z to X. A correction then gives wrong results.
Since the "correct bumpmapping" is actually a new option, causing extra
rendertime too, I've made it an option now. With the "Map To" Panel being
fully used, I've put the new button option (temporally I hope) in the first
"Texture" Panel in material context.
Will be updated in release log page!
While in camera view, going to local axis rotation (R, X, X) the view
became instable. Was still using the view3d view matrix, instead of
initialized TransInfo->viewmat.
Martin; you could check on the mouse motion in this case, for some reason
it only uses horizontal motion?
ALso; renamed button in InfoWindow "Disable sound" to "Disable Game Sound".
Rotation acted weird in perspective mode. Works much better using viewinv
instead of persinv to get the rotation axis. What would be even better is
using real view vector depending on transformation center (with
getViewVector), but that can wait a bit.
Meta Element resize needed some code to reset radius changes or axis size
changes when switching from one to the other (my fault, I didn't think of this
when telling Jiri how to implement it).
(Looks like big commit, but is mostly just change of API call!)
Particle emittors now can be parented to an armature Bone, and give the
correct path for each particle. Note that this doesn't work for deform!
And, for each particle the entire armature is evaluated, all actions and
NLA strips.
It used to work a little while BTW, but the code just called ALL armatures
and made ALL deforms again. Was quite slow... thats why the API call
change: do_all_actions() now accepts Object * to only do that one. With
a NULL it now does all still. Will disapppear in recode of course...
Envmap rendering was using Gauss filtering, causing dark outlines in edges
of cube pictures. Now it temporally disables gauss in envmap render, which
isn't really noticable since the pics are filtered + gaussed anyway in the
end result.
The "Separate" and "Split" commands in editmode Mesh didn't take loose
edges into account correctly (leaving them in). These edges now get
removed correctly.
Note; this changes the tool XKEY "Delete->Faces" slightly. This already
removed entire faces and loose selected vertices. Now also removes loose
selected edges. More consistant, but maybe a bit confusing...
Underflow case in Blinn spec... resulting in large negative values to be
returned in certain cases, causing (again!) black dots.
Thanks randall for clear report with nice demo file. :)
With a sun lamp shining exact perpendicular to a face, the result was
undefined (black or full lit). Was caused by using acos() without checking
the input range. Float calculus can result in small under or overflows...
therefore: always use the arithb.c function saacos() !!!
Found more acos() usage in rendercore (in blinn and arealight too), removed
all of them. Might solve the white or black dots people were complaining
about?
While I was there, I cleaned up individual center a bit, it was messing with helpline.
For fun, set the center mode to Individual Center, create a bezier circle, change handle to free (H) and Resize or Rotate. Fun isn't it! :)
Split the conversion fonctions and sorting functions from transform.c into transform_conversions.c
Update MSVC 6.0 projectiles and SConscript accordingly.
Editview still included transform.h, replaced that for BIF_transform.h, the external include.
from Ricki Myers (themyers).
Comes with nice juicy commit msg, too!
- source/blender/blenkernel/BKE_text.h
- Removed indent_paste, uncommen, unindent_lines, comment_paste,
uncomment_paste, uncomment, set_tabs.
All these functions cut and re-added text (I felt this was
unsafe). whicch is was caused the highlight loss.
- Now the only functions are Indent, Unindent, comment, uncomment,
setcurr_tab. All these functions only take one @parm (struct Text)
-indent(struct Text *text)
copy's the selected text in a MEM_mallocN line by line added a
tab at the begginning
- Unindent(struct Text *text)
Tests if current line starts with a tab.
if TAB remove it
- comment(struct Text *text)
copy's the selected text in a MEM_mallocN and adding a # at the begginning
- Uncomment(struct Text *text)
Tests if current line starts with a #.
if # remove it
- setcurr_tab (Text *text)
Checks for Tabs pri. to any text
if : is found and not in a comment then Tabs is increased by one
if "return", "break", "pass" is found then Tabs is decreased
- blender/source/blender/src/header_text.c
Changed: txt_cut_sel(text);
indent_paste(text);
TO:
txt_order_cursors(text);
indent(text);
* no more cutting of the text
- source/blender/src/drawtext.c
set_tabs(Text *text) just calls setcurr_tab(text);