as there is a conflict between openal and sdl (when compiled with cdrom
support), i had to disable support for cd playing using sdl on os x
for the time being.
Now we're on the root of the problem. Ghost (OSX) didn't accept rawkeys
for the 1-2-...0 keys on a french keyboard. These have apparently different
symbols on it. (these silly french! :)
This commit intercepts the rawkeys in convertKey() call, and manually
makes sure theyre correctly mapped.
So: now french (spanish, etc) OSX users can finally use layer hotkeys! And
the popup menu shortcuts! :)
Tested & verified by Lukep. Merci!
var instead) return (float)atof(something);
is now float x=atof(something); return x;
There is still another one(warning)in this file but hey its a start.
Kent
* Blender static now links. By default this option is disabled on all
platforms. Simply set the option in config.opts to 'true'.
* Added the following flags to config.opts:
- HOST_CC. This is the C compiler for the host platform. This value is the
same as TARGET_CC when not cross compiling.
- HOST_CXX. This is the C++ compiler for the host platform. This value is
the same as TARGET_CXX when not cross compiling.
- TARGET_CC. This is the C compiler for the target platform.
- TARGET_CXX. This is the C++ compiler for the target platform.
- TARGET_AR. This is the linker command for linking libraries.
- PATH This is the standard search path
All SConscript files have been updated to reflect these changes. Now it's
possible to change only the root SConstruct file, and all compiler specific
variables are passed automatically to all SConscript files. Of course, this
does not apply to makesdna because there the host and target platform is
different from all other libraries.
To pass a variable that applies to all platforms, all we now have to do is
set the correct value in library_env
Note: as usual, to get the latest options in the config.opts file, first
remove your version.
* OpenAL support is now available on Linux. By default this feature is
disabled since it is only necessary when building the game engine. And the
game engine is disabled by default as well, so...
* Added 3 configurable options to config.opts. These apply to OpenAL settings.
NOTE: remove your current config.opts file to get the new options. (remember
your current settings though ;) )
2nd NOTE: All options* are now configurable via the config.opts file. If the
default settings for your platform are not correct, you should be
able to only update the config.opts file.
* FMOD is still not available - and I do not know if it is necessary to
enable this feature.
* 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.
- 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.
Materials are exported the best we can do by now. It will look almost as in
blender except for the missing procedural textures and some minor issues.
You have to tweak normal modulation amount to get the desired result cause
is not the same in yafray.
We added a panel in render space to adjust some yafray settings (GI and so)
Also we export transparency and reflection using new raytracing settings,
but that will be changed and improved soon.
Remember that you have to set YFexport path in user defaults and yafray must
be on path (version 0.0.6)
We added the "yafray" button to activate all this stuff in the render window.
Panel and settings are only shown when checked.
So now when activated the code calls yafray export instead of the internal
renderer and finally the resulting image is loaded back into render window's
buffer. So animation is also possible and results can be saved using blender
usual scheme.
You'll need SCons (www.scons.org) to build.
Platforms currently working:
* Linux (me)
- options for quicktime, openal and international disabled
- uses the system libs and include files for building - no option to build
with the precompiled libraries yet.
* Windows (jesterKing)
- builds with quicktime (optional)
- builds with openal (optional)
- builds with international support (optional)
- Use the DOS box to build
- builds with precompiled libraries
* Irix (Hos)
- Uses default Irix compiler
- Not all optimization levels correct yet
- options for quicktime, openal and international disabled
- builds with precompiled libraries
* Cygwin (me)
- has a problem in the linking stage
- uses free build tools (gcc)
- options for quicktime, openal and international disabled
- uses the system libs and include files for building - no option to build
with the precompiled libraries yet.
* MacOS (sgefant)
- builds with quicktime (optional)
- options for openal and international disabled
- builds a nice bundle
- builds with precompiled libraries
Thanks to IanWill for a bugfix in the Linux build.
Note: This is a work in progress. A lot still has to be done - for example the
optional parts are only to be enabled by directly setting 'true' or
'false' in the SConstruct file. This needs to be moved to a user config
file. Also, the .o/.obj files are stored in the source tree. This needs
to be fixed as well.
The game engine is not yet built.
This function just calls another function which returns a success value, so I'm just passing that value directly as a return value.
Slap me with a trout if I wasn't suppose to fix this.
a gcc/cygwin built Blender from showing the Blender app icon in the
main window title bar.
Only a minor issue, but it annoyed me long enough to want to fix it!
well... probably OK, got it from a python mailing list.
When starting from commandline, the window doesnt pop to the front. this
was really bad for the play function in blender, which opens a new blender
thread.
solved with SetFrontProcess()
I've mailed Maarten to verify it, this commit is for test at other
OSX platforms.
- this was the baddie:
setDrawingContextType(GHOST_kDrawingContextTypeNone);
it was called in the window destructor, for each window closed.
I've hacked in a temporal global var to store the mainwindow. When this
line is only called for mainwindow, it all works smoothly.
- next commit is needed too!