scriptlinks are executed.
This fixes bug #997.
Note: this fix does not need to be mentioned in release notes (problem
was caused by the recent armature speedups).
There was two switch where only one was needed (which caused an event to register in two different actions under some conditions). I merged both of them, which not only made the code a lot clearer but also safer.
Fixed the Home and End case which didn't update the display correctly.
I've tested it for some time, so I'm pretty sure nothing is broken.
- Fixed up the paths for "/lib/..." in csg.dsp
Quick note: Currently intern still builds the old lib (bsplib).
To compile the new lib (when everything is ready for it), uncheck
bsplib from the dependancies in build_install_all and replace with csg.
Will eventually drop bsplib completely - but not just yet :)
As mentioned earlier on bf-commiters mailing list, there is no current *nix make file only an msvc60 project file. I only have a linux box at work and to be honest I want to avoid doing any commits from there! So if some kind soul could sort it out that would be great.
Dependencies:
This code only depends on other stuff in the intern library, moto and memutils the CSG lib needs to have their include paths to compile. Other than that its completely self contained.
Acknowledgements:
To speed up the polygon-polygon intersection queries I've used some code (under the GPL) from freesolid2.0 this clearly marked in the appropriate files and Gino van den Bergen still owns the copyright to that material. The algorithm I used in based on one from Paul Nettle described on flipcode (www.flipcode.com) and I think his work was a derivative of the "Laidlaw algorithm"
There is also some basic 'ear clipping' triangulation code that unfortunately remains unatributable. I have no right to publish this code under the GPL nor BPL for that matter as I have no idea who the original authors are. Its just one of those random bits of internet code.
Warning!
The stuff used a lot of C++ template features, which on one hand makes it very generic but on the other means that some work will need to be done to get working with other compilters. The msvc60 compiler is not very compliant to the C++ standards with respect to templates so its very difficult to say if this code will compile out of the box on other platforms.
I still haven't committed modifications to booleanops.c in the blender code as without a working library to link to it will break the current build. This needs to be done first!
Improvements
This code is much simpler than the previous bsp implementation see intern/bsp and this old code should be deprectated/removed. However, whilst this implementation produces less triangles in the output than the bps algo, its still not an optimal solution. This is just hard to do and beyond my humble skills.
License:
Just to make it clear this stuff for the reasons mentioned above and for the fact I'm to mean to give the copyright away to BF is licensed under the GPL only.
Cheers,
Laurence.
* All output is now generated in a seperate directory. By default this is
../build/
Currently all .lib / .a files are still build in lib/
So, I guess I need to update all SConscript files to build the lib now also
in the build_dir. TODO
* User configurable options have been added.
When running SCons for the first time, a new config.opts file is generated.
The defaults are taken from each section currently in SConstruct.
Currently implemented options:
- VERSION // Blender version. not used at the moment
- BUILD_BINARY // release or debug
- BUILD_DIR // target directory to build intermediate files
- USE_INTERNATIONAL // true or false
- BUILD_GAMEENGINE // true or false
- USE_PHYSICS // ode or solid
- USE_OPENAL // true or false
- USE_FMOD // true or false
- USE_QUICKTIME // true or false
Note that all options are strings, so quotes are necessary (')
There's currently some duplicate code in the SConstruct and SConscript
files, but this currently works and cleanup can be done in small steps
afterwards.
* Disabled international support on Linux by default for now.
There is something wrong with this currently. I'll fix it in the near
future.
Rotation and Scaling so they have R and S instead of all 3 having G as
the shortcut.
(Its in the transform/Rotate on Axis and transform/Scale on Axis toolbox items.)
Kent
bones in one armature that were constrained to bones in another
armature, which in turn were constrained to a non-armature object
weren't getting updated correctly.
This fixes bf-blender bug #955 (thanks Appolux).
Note: This commit need not be logged in future release notes (was
caused by recent armature speed ups).
HoR, HoG, HoB tooltips talked about Zenith instead of Horizon.
added (F6) to the texture tooltip. He also mentioned F5 but
the F5 is already there its just context sensitive and the
sub menus do not have the shortcut.
Kent
- tiny harmless change in module Blender.Material's *doc*.
Aphex: tested your fix for windows (thank you -- and Bill Baxter for reporting):
It doesn't break anything here (linux). So probably no need for #ifdef's.
win32 from locating .blender/scripts.
I'm hoping other OSes are a little more forgiving about these things...
but PLEASE test, else we may need to #ifdef it.
who have set a %HOME% environment var now works again.
Patch provided by Bill Baxter, plus an additional fix for Win9x.
There is still work to be done with this after the 2.32 release...
-- fixing a last minute bug: scripts w/o guis that called the file selector were
not being checked for errors, which could cause crash dumps upon exiting.
-- docs: updates for Draw (fixed example) and Material (added tex related methods docs)
Scripts:
-- added some more scripts, all I could get in shape in time (at least they export / import back).
Only tested on linux.
of things with a couple of tweaks. It still needs work but I'm stuck.
Working with Michel to change compiler to gcc for solaris since Sun's c++
compiler is broken and won't compile blender.
Kent
* In a previous commit, the following targets on Linux were commented out:
- plugin
- xplink
- blenderstatic
- blenderplayer
This commit uncommented those targets again.
instead. Also moved the creation of $(CONFDIR) up so that it
gets created before dumping files into it. There is still one
extra reference to .blender for osX but I wasn't sure what was going on
so I left it. It really should be "fixed" though.
Kent
-- search/remove '\r' from string buffers read from scripts:
used a fast way: change each '\r' to a space, since it should
work for scripts and the buffer is only needed for a short while.
-- added call to clear error indicator before running a script.
A previous script may set it even on succesful returns.
* Armatures that had constraint targets inside other armatures
weren't transform()-ing correctly
* Issues with lattice deformed objects that are parents of bones
when rendering an animation. Seems to be mostly OK now with the
exception of the first rendered frame -- weird bugs like this have
plagued blender for ages, which leads me to believe that
RE_rotateBlenderScene() is a piece of garbage that nobody understands
(especially me).
* made a few helper functions to clean up some repeated code related
to clearing constraint status and rebuilding displists.
- as proposed by Ton, default dir for menu enabled scripts is:
userhome/.blender/scripts if available or (using bprogname -- argv[0]),
blenderInstallationDir/.blender/scripts/ otherwise.
- moved a piece of code from BPY_interface.c to BPY_menus.c to get rid
of a linkage warning reported by J. Walton
-- added the first scripts to release/scripts:
We need time to get more scripts there, but the situation should improve
consistently from now on. Adding three export scripts: cal3d, directX, ac3d.
And one import: ac3d.
Blender 'sphere' mode lights in yafray should now have more similar light levels
render shadow button in Blender must now be enabled to render shadows in yafray too
some other minor shadow related corrections