* Removed the I18N_DEFINES from the config.opts file. This define is not a
user setting. The defines depend on what options the user enables in the top
of the config.opts file (USE_INTERNATIONAL).
* Moved the defines to the correct SConscript files.
Only the relevant libraries now use these defines.
* Windows fix for the python settings. There were missing brackets [ and ] for
these settings.
* Game engine can now be build on Linux. By default this feature is disabled.
The reason is that you need to have a precompiled version of the ode library
for your gcc version.
To enable ode support you need to do the following:
- compile ode.
- set BUILD_GAMEENGINE = 'true' in the config.opts file.
- set USE_PHYSICS='ode' in the config.opts file.
- set the ODE_INCLUDE and ODE_LIBPATH to valid locations.
* Linking order has changed for the game engine
There are cyclic dependencies between libraries. On linux we have to do some
duplicate linking. I looked at the order of linking in source/Makefile, and
did some clean up.
* Internationalization support is now available on Linux. By default this
feature is disabled. The reason is that you need to have a precompiled
version of the ftgl library for your gcc version.
To enable ftgl support you need to do the following:
- compile ftgl.
- set USE_INTERNATIONAL='true' in the config.opts file
- set the FTGL_INCLUDE and FTGL_LIBPATH to valid locations.
Freetype2 is detected automatically on your system by using pkg-config.
There was a problem with linking libraries. I took a look at how the
Makefile environment did it, and copied the mechanism. Now we're linking:
freetype, blender_ftf, ftgl and freetype. (Yes, 2x freetype).
* Minor variable cleanup.
sdl flags are now collected in one Environment() in stead of two. Adapted
all relevant platform variables accordingly.
* Almost all library settings are now available in the config.opts user option
file.
* All platform variables had to be updated to make this possible. Things are
much clearer now, but I only was able to test the changes on Linux. I've
tried to update all other platform variables, but things are most likely to
be broken. Please contact me how to resolve the issues.
Note: Before running scons, remove your existing config.opts file to get all
new options.
I added to this patch some code for keying size too ... please test.
This probably fixes bug #602, but I can't say for sure: Guignot's
poor ol' example blend no longer opens in blender (not since 2.26).
Release notes remark: Bug causing inconsistent baking of actions fixed.
* libraries are now generated in [BUILD_DIR]/lib
* passed the user_options to all libraries now.
This means I could remove a couple of Export/Import lines.
* Changed the order in source/blender/src/SConscript and
source/gameengine/SConscript.
All libraries are now sorted alphabetically. This has no impact on the build
process.
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.