Commit Graph

372 Commits

Author SHA1 Message Date
Brecht Van Lommel
fa443a5f01 Bugfix; the IK solver would crash if there were 0 DOF's in the chain. 2005-08-27 23:04:37 +00:00
Brecht Van Lommel
8f5bff6051 Make IK DOF stiffness work in range 0.0-1.0, for consistency. 2005-08-27 14:27:05 +00:00
Brecht Van Lommel
ae9dcb3dc2 Update SConscript.
Fix some warnings.
Merge with latest soc code.

What changed in IK lib:

Fully restructured, with components now as follows:
  - IK_Solver: C <=> C++ interface
  - IK_QSegment: base class for bone/segment with 0
    to 3 DOF
  - IK_QTask: base class for a task (currently there's
    a position and a rotation task)
  - IK_QJacobian: the Jacobian matrix, with SVD
    decomposition, damping, etc
  - IK_QJacobianSolver: the iterative solver

The exponential map parametrization is no longer used,
instead we have now:
  - 3DOF and 2DOF XZ segments: directly update matrix
    with Rodrigues' formula
  - Other: Euler angles (no worries about singularities
    here)

Computation of the Jacobian inverse has also changed:
  - The SVD algorithm is now based on LAPACK code,
    instead of NR, to avoid some problems with rounding
    errors.
  - When the problem is underconstrained (as is the case
    most of the time), the SVD is computed for the transpose
    of the Jacobian (faster).
  - A new damping algorithm called the Selectively Damped
    Least Squares is used, result in faster and more
    stable convergence.
  - Stiffness is implemented as if a weighted psuedo-inverse
    was used.

Tree structure support.

Rotation limits:
  - 3DOF and 2DOF XZ segments limits are based on a swing
    (direct axis-angle over XZ) and twist/roll (rotation
    over Y) decomposition. The swing region is an ellipse
    on a sphere.
  - Rotation limits are implemented using an inner clamping
    loop: as long as there is a violation, a violating DOF
    is clamped and removed from the Jacobian, and the solution
    is recomputed.

Convergence checking is based now on the max norm of angle
change, or the maximum number of iterations.
2005-08-27 13:45:19 +00:00
Brecht Van Lommel
fa0bbaf380 Another file missed in IK commit. 2005-08-27 13:27:49 +00:00
Ton Roosendaal
8d36b517f9 Forgot to add new files... 2005-08-27 13:10:41 +00:00
Ton Roosendaal
a7f2ebf06c Second commit for Brecht's IK work.
(Moto needs 'make install' before you can do IK lib btw)
2005-08-27 12:45:29 +00:00
Ton Roosendaal
665a6b2d95 First commit of Brecht's new IK work. This only does the IK module.
Don't start compiling yet!
2005-08-27 12:44:41 +00:00
Ton Roosendaal
4d58808512 MEM_alloc allocated in units of 8 for 32 bits systems, and units of 4 for
64 bits systems... weird bug. :)
It now only does a unit-of-4 check, for all systems. This will work fine,
since the malloc code will return aligned anyway, and the guarded alloc
system only stores ints in the headers. Also, the sizeof() call will
correctly do padding, so there's no risk of allocating too small blocks.
2005-08-21 10:05:50 +00:00
Jean-Luc Peurière
b12f801681 updates to the OS X build system :
- XCode project
- Scons :
    scons stopped working for Os X in the last month (dont know when) :

     * the '.' and '..' keywords in CCPPATH
          are not recognized anymore for sconscripts compiling files at
          a sub level
     * when doing a scons clean, the 3 subdirs in build dir are removed
      and scons then fail to recreate them (exten, intern, source)

this commit solve the first problem as a temp workaround
for the latter simply recreate the dirs manually

I will investigate that further when on vacations,  which i should already
 be.
 ;(

all 3 build systems are now working on Os X
2005-08-04 16:05:28 +00:00
Joseph Gilbert
292c03ab8e _.NET projectfiles update_
* converted files to .NET 2002
* removed unneeded projectfiles from bullet
* PHY_Bullet outputs to correct directories
* Bullet linked to activex and blenderplayer
* misc updates
2005-08-02 13:44:49 +00:00
Martin Poirier
6116b36f4e BMFont didn't define correct character size for "Screen 15" font for TAB and NBSP.
Found out through ideasman's interactive console script.
2005-08-01 06:29:06 +00:00
Erwin Coumans
49499c49be updated vc7 projectfiles so they work with bullet 2005-07-31 14:40:51 +00:00
Erwin Coumans
411123b250 - added debug line drawing in gameengine (handy for debugging physics problems)
- added #ifdef for a visual studio 8 crashing problems
- added scaling and tolerances to triangle meshes
2005-07-27 09:30:53 +00:00
Daniel Dunbar
b6b352e0b7 - got fed up with not being able to put a breakpoint on MEM_
errors, switched MEM_set_error_stream to MEM_set_error_callback
   that calls a function to print result instead of just giving
   a FILE *

Note: requires intern recompile
2005-07-22 16:40:26 +00:00
Daniel Dunbar
ca1873df56 - remove MEM_dupallocN's warning on dup of len==0 sized object 2005-07-20 03:49:36 +00:00
Daniel Dunbar
5bc4eae608 - commit patch from Matthew Plough to request buffer with SWAP_COPY
behavior
2005-07-17 20:40:07 +00:00
Ton Roosendaal
205b6501a0 (Accidentally sent previous commit without message... is same stuff)
gcc4 error fixes for compiling in OSX Tiger

Also; make using python framework default in makefiles
2005-06-08 18:55:49 +00:00
Ton Roosendaal
e5304a967c Disabled assert foolery in Decimator. :)
Code provided by Matthew Plough. Verified to run OK in OSX, Windows.

Solves bug #2598, which crashed blender on using non-manifold meshes with
decimator.
2005-05-24 10:44:14 +00:00
Chris Want
194ded1263 Weird, make on OS X needs an 'export' for CPPFLAGS to make value
persist when building subdirectories. I wonder why other platforms
don't need this?

Fixes the openal unresolved symbol issue with NAN_NO_KETSJI.
2005-04-30 17:28:38 +00:00
Ton Roosendaal
a62b0309bf Uncommitted fix in NAN_NO_KETSJI compile, which seems to work only for
Makefile usage... the linking error might be makefile related then.
2005-04-30 09:17:10 +00:00
Ton Roosendaal
cc44c12b9f Compile with NAN_NO_KETSJI kept giving me errors with OpenAL.
undefined reference to SND_OpenALDevice::SND_OpenALDevice

I hacked c++ code in the dummy function wich worked! Now test it! :)
2005-04-29 17:36:30 +00:00
Kent Mein
7811d7209a Bunch of gcc 4.0 warning fixes.
source/creator/creator.c
	changed ifdef's around fpe_handler to match when its actually used.

intern/SoundSystem/intern/SND_AudioDevice.cpp
	Changed: SND_SoundObject* oldobject = oldobject = pIdObject->GetSoundObject();
	to: SND_SoundObject* oldobject = pIdObject->GetSoundObject();

intern/SoundSystem/openal/SND_OpenALDevice.cpp
	removed unused var.

source/blender/blenkernel/intern/mball.c
	initalized a couple of vars that might have been used uninitalized.

The rest were changing types to match, most of them were something like
was short * should have been unsigned short *.

Kent
2005-04-27 11:52:50 +00:00
Ton Roosendaal
72fd784f92 Sigh! Left in debug print... :) 2005-04-24 19:08:14 +00:00
Ton Roosendaal
d40ba55c8c Adapted Nvidia hack for OSX; it checks for the gl string more narrow, to
also include othe 6800 card types. (reported in tracker)

Still no real clue if this is OK for release... stupid driver bugs!
2005-04-24 18:09:54 +00:00
Kent Mein
04e4b72e06 Moved the start of an ifdef so it includes vars specific to the ifdef
to get rid of warnings about unused vars (on non __APPLE__ system)

Kent
2005-04-04 15:57:50 +00:00
Joseph Gilbert
fc663edf72 *** empty log message *** 2005-04-02 18:42:30 +00:00
Daniel Dunbar
24c9f65056 - got tired of str[n]casecmp not declared warnings
- added BLI_str[n]casecmp, use instead of regular versions
 - rewrote BLI_str[n]casecmp to not be stupid
2005-04-02 15:36:57 +00:00
Stephen Swaney
607083cc9a Removed comma at end of enumerator list to please fussy compiler. 2005-03-29 14:27:20 +00:00
Kent Mein
4d4e776542 Changed:
-       memset(m_keyboard_vector,32,0);
+       memset(m_keyboard_vector,0,32);

Patch submitted by Dave Jones

Kent
2005-03-29 13:06:58 +00:00
Ton Roosendaal
e81041bb98 TEMPORAL HACK!!!
Added the is_a_really_crappy_nvidia_card() call in BMF_DrawString(), this
to solve a bug in NVidia 6800 drivers of MacOSX G5. It is #ifdeffed for
OSX only, and queries for a NVidia 6800 card to activate the patch.

The issue is that these drivers forgot to correctly implement viewport()
offset for drawing bitmap fonts, causing text display in Blender to be
invisible, except for the leftmost/bottom sub window.

This hack will be removed when Apple releases a driver upgrade, which is
unknown when to happen. Has to be decided still if this is worth for a
release, or that we provide the hack as separate download.

Thanks Randall Rickert for all testing, and Daniel for code review! :)
2005-03-26 10:59:49 +00:00
Kent Mein
55af35d795 I'll break this commit into two sections in the moto files
I got rid of a few warnings about blah shadows a previous declaration.

In the gameengine files I fix the following:
	removed some unused vars
	removed dos style line breaks
	added newlines to last line in a couple of files to remove warnings.

Kent
2005-03-25 16:31:05 +00:00
Kent Mein
57f72f4081 Small fix for the following warning:
../include/MT_Quaternion.h:62: warning: declaration of 'angle' shadows a member
of 'this'

Kent
2005-03-25 14:48:29 +00:00
Jean-Luc Peurière
3ca88c4e7f ome more warnings cleaning 2005-03-14 20:10:22 +00:00
Jean-Luc Peurière
c78e44cdc5 big warning hunt commit
lot of casts, added prototypes, missing includes and some true errors
2005-03-09 19:45:59 +00:00
Joseph Gilbert
61767b4f48 MSVC7 update and freetype2 source
- Added correct .libs to be linked to GP_Ghost
- Fixed incorrect library extensions for the linker (*.lib and not unix *.a)
- Projects have been set to be multi-threaded - projects were being linked to different versions of the CRT
- All projects are now linking to python 2.3 (this fixes an error regarding struct sizes in python)
- Removed invalid source paths from inclusion for the compiler
- Fix dependency issues with the GP_Ghost module
- Proper .dll's are now being copied to their respective locations for debug and release version of blender/blenderplayer
- Warnings have been set to level 2
- Import paths have been updated and organized for the compiler
- Duplicate import paths for the compiler have been removed
- Removed silly silly silly silly unix path-separators from window paths
- Post-Build scripts have been updated where neccessary (XCOPY is retatined)
- Fixed the output of various .lib files (PHY_Sumo and Yafray)
- PHY_Sumo now uses a .pch
- Removed #undef _DEBUG from debug builds :p
- FTF_Font is now contains a debug build and is being set to it's correct output path
- Blender/Blenderplayer/3DPlugin all linkto Debug libs where appropriate (instead of static release libs to avoid conflicts with the CRT)
- Python23_d.dll is now loaded into a true debug output of both blenderplayer and blender debug builds
- msvcrtd.dll is now loaded into a true debug output of both blenderplayer and blender debug builds
- Post-builds now clean up their mess
- ActiveX controller now builds
- BlenderPlayer now builds
- Internal libs now using .pch
- Moved the build directory from /blender/obj to ../build/msvc_7/  to follow precedence with scons builds
- Builds are now organized to follow precedence with scons builds with a /libs and a /intern /extern /source obj folders
- Set the proper build path for opennl
- Forcing BLO_loader source files to follow project defaults
- Added an 'extern' project that mimics the /make build of the 'intern' project
- Extern build includes solid and it's associated builds, ftgl, and freetype
- Added .vcproj files to /extern directory
- Added new extern.sln file to /extern directory
- All project now link to the built solid.lib from the extern project instead of lib/windows
- Removed uneeded XCOPYs commands from post-builds
- Added conditional Directory building to post-builds
- Freetype2 source commit (this is need for the building of a correct MFC linked version of the activeX controller as well as a correct release and debug build of the blender project)
- Ftgl is built and linked by the 'extern' project
- Intern/Extern project are now exporting their proper header files
- PHY_Physics is now linking to the correct set of header files (in build path not source)
- Makesdna builds object files into build directory now
- Projects are now ignoring the CORRECT versions of the CRT's  :)
- Renderconverter is now outputting it's obj file to it's own directory instead of /render
- Gen_system is now being built to ../kernel
- BL_src_cre is now being built to /creator
- *.exp and *.ilk are now being cleaned up from linkers
- Libpng.dll and zlib.dll are now being copied to the /bin
- MTDLL build are now available for the correct projects
- ActiveX 3D Plugin now links correctly to solid and freetype2
- Corrected the Preprocessor #define that was labeled incorrectly in FTF_Font and Blender that was causing the FTGL libs to export dll calling conventions.
- Changed the solution configurations to 3D Plugin Release, Debug and Blender Release, Debug for internal and external librarys
- Changed the solution configurations to 3D Plugin Release, Debug and Blender Release, Debug for blender and added 2 new solutions configurations BlenderPlayer Release, Debug
-
2005-02-20 21:33:11 +00:00
Joseph Gilbert
4bd1fe7eab The opennl vcproj was not copying ONL_opennl.h to the lib\windows\opennl\include directory 2005-02-12 16:36:49 +00:00
Joseph Gilbert
5af05c9610 Update to the MSVC7 project files (vcproj) for Blender's internal libraries
- set build_install_all as the default project (if you give me a quarter ill tell you how :)
- set SoundSystem to it's proper dependencies
- updated those silly silly unix path separators
- set project warning levels to something not so noisy
2005-02-12 02:06:52 +00:00
Kester Maddock
b908cfcb07 Use the default windows assert for VisualC
Update Scons
2005-01-17 11:02:44 +00:00
Simon Clitherow
a7c3b86e87 Fixed #define for snprintf on win32 2005-01-16 17:40:59 +00:00
Kester Maddock
cb289b215f Advanced MT_assert macro.
It will attempt to break into the debugger instead of aborting the program.  On Windows you have a nice MessageBox function, so you can choose to break, ignore, or permanently ignore the assert.
2005-01-16 04:28:55 +00:00
Kester Maddock
4f2e57a541 Fix bug #2006:
Floating point imprecision made MT_Quaternion::angle return NaN, since acos(x) is NaN for |x| > 1.

Because of the way NaN's propagate through float math, the view pos would be set to [NaN, NaN, NaN] resulting in a grey screen.
2005-01-09 00:06:45 +00:00
Kester Maddock
c635a0eead Fix loading of non-packed sounds for Linux. 2004-12-30 03:08:34 +00:00
Kent Mein
80b25309b1 This commit makes it so openal finally works on solaris.
Kent
2004-12-08 14:58:40 +00:00
Kester Maddock
5d04d876f7 Fix for bug #1875:
OpenAL (pthreads) was generating a SIGHUP at alcDestroyContext().

Fix by setting SIGHUP to ignore.
2004-12-05 00:50:55 +00:00
Brecht Van Lommel
ab7134839a Bugfix for #1949:
F11 to switch between render window / main window didn't work anymore in some
window managers (e.g. fluxbox), after fixing it to work in kde.
2004-12-04 00:12:53 +00:00
Jean-Luc Peurière
e4562134d2 fix for #1590, possible fix for #1849 (to be confirmed)
OpenAl is subtly different on each platform. Os X need the alutinit/exit stuff
2004-11-29 20:36:03 +00:00
Kester Maddock
46fbe6b01e Fix for bugs: 1788 (forces) and 1799 (python delattr on game objects)
Use Polytope collision for faster mesh intersection tests, so SOLID can actually use that qhull lib now.
2004-11-22 10:19:19 +00:00
Kester Maddock
cf91617d78 Fix stereo window creation 2004-11-22 10:09:08 +00:00
Jens Ole Wund
23e8b98228 fix bug #1546
ghost was unaware of extra *<>* key on german keyboards on windows
2004-11-07 16:30:19 +00:00
Ton Roosendaal
6ef4d3aec5 Solved annoyance in OSX warp cursor. The former used CGPostMouseEvent call
behaves very unpredictable (ask google) and seems to clear pending events
as well (fly mode, shift event dissappears).

The now used call, CGWarpMouseCursorPosition, creates no event so it has
to be combined with updating mouse cursor location in ghostwinlay.c
2004-11-06 14:52:25 +00:00
Brecht Van Lommel
33906b9117 Bugfix for the render window not popping to the front when it already existed,
under linux / x11 / KDE.

The new behaviour in 2.34, not recreating the render window on re-render,
revealed that raising windows did not work under some window managers.  Now the
"net wm extensions" are used if available, otherwise it will work the same way
as before (e.g. Gtk+ does this as well).

More info:
http://www.freedesktop.org/Standards/wm-spec
2004-09-05 22:51:50 +00:00
Kent Mein
aa317a8281 removed 4 unused vars...
Kent
2004-09-01 13:33:24 +00:00
Kent Mein
19a24abcb2 two more vars that were questionably not initalized...
Kent
2004-08-31 13:11:59 +00:00
Kent Mein
a297f42bcd Changed : A[i,k] to A[i][k]
Caught from the following warning:
In file included from IK_QChain.h:47,
                 from IK_QChain.cpp:44:
TNT/cmat.h: In function `void TNT::matmultdiag(TNT::Matrix<T>&, const TNT::Matri
x<T>&, const TNT::Vector<T>&)':
TNT/cmat.h:593: warning: left-hand operand of comma has no effect

Kent
2004-08-30 13:44:58 +00:00
Kester Maddock
5b74adda37 Fix stereo window creation on X11. 2004-08-24 03:30:16 +00:00
Jean-Luc Peurière
4b495e5e7b OS X fix:
those who work with visible dock where experimenting slowdown of UI  when
 blender window was overlapping dock.

now :
     - check available space excluding dock
     - create window with a 10 pixels border
     - maximised mode is only 1 click away

This code is fixing only. Will review that when consensus will be found
about how we should create the window.
2004-08-01 22:28:56 +00:00
Jean-Luc Peurière
bbdfacfde3 added a nice alert box when blender is run on a mac with less than 8Mb VRAM 2004-07-28 16:47:08 +00:00
Jean-Luc Peurière
f3beeec296 new window behaviour for macos X computers :
if video card is open GL accelerated and has 16 Mo or more
start window in maximized mode wich is a full screen mode
but keeping access to other windows and sytem menu items

older comps start as usual
2004-07-27 20:40:42 +00:00
Kester Maddock
8a52016501 Let the game engine manage it's own sound scene. This is to fix bug 1415 (Patch from Peter den Bak)
http://projects.blender.org/tracker/index.php?func=detail&aid=1415&group_id=9&atid=125
Also release the OpenAL device & context.  These were leaked before, and would cause an assertion.
2004-07-26 11:54:10 +00:00
Kester Maddock
6ce57a706f GCC 3.4 compile fixes from bug #1277 2004-07-22 00:15:50 +00:00
Kester Maddock
b16d1c7bde Fix m_type used uninitialised in MT_Transform. 2004-07-17 00:44:48 +00:00
Kent Mein
b07c5f2096 Bunch of small fixes for warnings and whatnot....
intern/SoundSystem/intern/SND_AudioDevice.cpp
   Initalized a var that could fall through with no value.

source/blender/readblenfile/intern/BLO_readblenfile.c
source/blender/src/space.c
intern/SoundSystem/intern/SND_Scene.cpp
source/gameengine/Converter/BL_MeshDeformer.cpp
        removed unused var's

intern/SoundSystem/openal/pthread_cancel.cpp
        fixed a nested /*

source/blender/imbuf/IMB_imbuf.h
        added static to the type returned for addzbufImBuf

source/blender/imbuf/intern/IMB_bmp.h
        had a wrong prototype

source/blender/src/view.c
        added newline at end of file.

source/blender/src/sequence.c
        removed unused var
        added #include <stdlib.h>  to avoid:
                 warning: implicit declaration of function `abs'
        initalized a var that could have been used without being set.

Kent
2004-07-16 14:45:06 +00:00
Jens Ole Wund
738c7e8b29 workspace and project to make opennl 2004-07-14 20:55:20 +00:00
Jens Ole Wund
beba40c16f workspace with opennl included 2004-07-14 20:52:41 +00:00
Nathan Letwory
d906c3c34b * add opennl and superlu to intern project 2004-07-13 18:25:44 +00:00
Brecht Van Lommel
4f1c674ee0 Added SuperLU 3.0:
http://crd.lbl.gov/~xiaoye/SuperLU/

This is a library to solve sparse matrix systems (type A*x=B). It is able
to solve large systems very FAST. Only the necessary parts of the library
are included to limit file size and compilation time. This means the example
files, fortran interface, test files, matlab interface, cblas library,
complex number part and build system have been left out. All (gcc) warnings
have been fixed too.

This library will be used for LSCM UV unwrapping. With this library, LSCM
unwrapping can be calculated in a split second, making the unwrapping proces
much more interactive.

Added OpenNL (Open Numerical Libary):
http://www.loria.fr/~levy/OpenNL/

OpenNL is a library to easily construct and solve sparse linear systems. We
use a stripped down version, as an interface to SuperLU.

This library was kindly given to use by Bruno Levy.
2004-07-13 11:42:13 +00:00
Jean-Luc Peurière
f24be4c6ad rewind of previous commit as some experiment bad problems.
This means that bug #1292 is alive again unless you define MT_NDEBUG
which I doubt many do.
2004-06-14 18:52:56 +00:00
Jean-Luc Peurière
e06fba8a1d changed MT_NDEBUG macro to a MT_DEBUG one and reversed defines
So now by default, assert is not used in moto code.

If you want to use assert (and stop blender if one fail),
define MT_DEBUG.

solve bug #1292 and better fix for #1260
2004-06-13 21:11:10 +00:00
Kester Maddock
d5fde6c48b Added #!/usr/bin/python standard script identifier to the start of SConscript files.
Makes text editors identify SConscripts as Python, and syntax highlight properly.
2004-05-16 13:07:20 +00:00
Kent Mein
2620ee4dc2 Shortened up the Makefile since freebsd,linux and solaris do the
same stuff:
Basically use this instead of seperate sections for each platform.
  ifeq ($(OS),$(findstring $(OS), "linux freebsd solaris"))

Kent
2004-05-04 16:26:52 +00:00
Hans Lambermont
dcb83e27a2 - use SDL sound on FreeBSD too.
- add solid include path to unix common makefile ... this is not FreeBSD
  specific, so I'm a bit confused as this wasn't corrected before.
2004-04-30 17:50:48 +00:00
Kester Maddock
ccc0e30fff Enable doppler on platforms other than WIN32. 2004-04-17 01:14:35 +00:00
Nathan Letwory
c4a95ebcb3 Correct a project dependency.
SoundSystem depends on STR_*, but that was not checked, so you had to build twice to get all internal libraries built.
2004-04-16 21:34:23 +00:00
Stefan Gartner
837da93f19 enable openal support for os x and linux-powerpc
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.
2004-04-14 13:00:36 +00:00
Joseph Gilbert
b7f718fb2c - Sets this as the active project for internal make 2004-04-11 12:59:32 +00:00
Ton Roosendaal
2f503f6d09 Bug fix #799 revisited
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!
2004-04-11 12:46:53 +00:00
Joseph Gilbert
b9659a072a - MSVC 6 compiler include paths update 2004-04-10 21:32:35 +00:00
Simon Clitherow
efe556f132 cleaning up MSVC 6 project files -- fixed a couple of stray *.obj
file paths.
2004-04-09 17:30:00 +00:00
Nathan Letwory
9dea66a835 Major update for Visual Studio .Net project files. Both Release and Debug modes have been sanitised (ie. use .lib instead of .a). This update also makes the structure similar to the msvc6 projectfiles.
The new blender.sln is now found in directory projectfiles_vc7\\blender.

Update to the INSTALL file will follow soon.
2004-04-07 18:17:37 +00:00
Kester Maddock
1a8deeb85b Fix only looped sounds play on platforms other than Windows/Apple. 2004-04-04 09:34:58 +00:00
Chris Want
dc2d6b035a Fixes to projectfiles:
* Added SDL CD stuff to Open AL project (/me lazy)
* Made ketsji project find the python headers
* Added noise stuff to python project
2004-04-03 23:46:33 +00:00
Chris Want
240b409f51 Converted all of the projectfiles to DOS text format
(half were DOS, half were UNIX).
2004-04-03 23:28:27 +00:00
Kester Maddock
2ccb9cf785 Added CD Audio support for OpenAL.
Updated Scons & Makefiles to cope
2004-04-02 13:15:18 +00:00
Nathan Letwory
98bed4ca32 - [SCONS] update to use the new csg script if you set the variable to true. I keep it to this file for the moment, since building this is not always successfull. So if you want to use this instead of the current method, set NEW_CSG in this file to true. 2004-03-09 18:21:28 +00:00
Nathan Letwory
5bd9534103 - [SCONS] SConscript for the new csg library 2004-03-09 18:19:53 +00:00
Kent Mein
9ed4436058 Updated the Sun ifdef's basically I standardized them so they
were all the same and make sure all platforms see them.

Kent
2004-03-06 19:32:33 +00:00
Kent Mein
6f195f084c Got rid of a cast to float which was causing a warning. (Used a temp
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
2004-03-06 17:04:52 +00:00
Nathan Letwory
8771b2eb98 - [SCons] Take out redundant 'defines' usage. _LIB is not needed for SoundSystem. This stops SCons from complaining on Windows when building. 2004-03-02 21:34:41 +00:00
Nathan Letwory
af2c3a4c10 Added OpenBSD3.x to the SCons build system. 2004-03-02 08:40:19 +00:00
Michel Selten
70a4ead0ae SCons updates
* 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.
2004-02-29 21:40:48 +00:00
Michel Selten
d4b27baa2b SCons updates
* 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.
2004-02-23 16:18:28 +00:00
Kent Mein
8134398de4 removed an extra ;
Found it with Sun's compiler.

Kent
2004-02-23 15:31:27 +00:00
Kent Mein
50549b602a Added a return GHOST_kSuccess;
to setWindowCustomCursorShape

Sun's compiler complained that it didn't return anything even though
it was suppose to.

Kent
2004-02-23 14:10:00 +00:00
Michel Selten
9330e553e8 SCons updates
* 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.
2004-02-15 19:25:32 +00:00
Simon Clitherow
6101f0d03d Learning to follow my own advice (I had set the dependancies to csg
already!)
2004-02-11 18:55:31 +00:00
Simon Clitherow
c205e7d1c7 - Added csg.dsp to the main intern workspace (intern.dsw)
- 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 :)
2004-02-11 18:36:48 +00:00
Francis Laurence
12966aed05 Ok here is the new CSG library that implements boolean operations for blender through the 'C' api in csg/extern/CSG_Interface.h.
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.
2004-02-10 20:16:44 +00:00
Nathan Letwory
a66108134c - Added the SConscripts for ftfont and quicktime
- [win32] python_include was missing, there was a double python_libpath. Corrected
- [win32] the soundsystem SConscript broke the win32 build.
2004-01-05 18:17:23 +00:00
Wouter van Heyst
57a7dfe5a5 - Revert to NaN makefiles 2004-01-05 00:06:11 +00:00
Alejandro Conty Estevez
eff07b8329 Basic initial yafray integration by Eeshlo.
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.
2004-01-04 22:10:36 +00:00
Michel Selten
d3e1fc8870 SCons build system files added.
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.
2004-01-04 21:11:59 +00:00
Daniel Dunbar
7303944ea9 - update VC7 projectfiles 2004-01-02 23:35:21 +00:00
Maarten Gribnau
f351708967 Fixes the freeze on Mac OSX when a Quicktime Settings window for Compression was brought up. Blender swallowed every event, not giving Quicktime a change to receive update events and mouse clicks. 2003-12-31 15:47:09 +00:00
Martin Poirier
50448cdb1a Function without a return (warning)
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.
2003-12-28 20:24:32 +00:00
Robert Wenzlaff
c476658348 More cursor port bugs. 2003-12-26 23:01:47 +00:00
Robert Wenzlaff
3f7cc9b217 Bugfix: Error in cursor port, only showed up under cygwin. 2003-12-26 22:41:51 +00:00
Robert Wenzlaff
85ae21d5dd Commit of cursor framework. Cursors now defined in source/blender/src/cursors.c and
source/blender/include/BIF_cursors.h.  Allows large cursors on Win32 and X11.
See cursors.c for documentatioin on how to use.
2003-12-26 20:12:42 +00:00
Simon Clitherow
8d94f3723d Removed an '#ifndef FREE_WINDOWS' statement that prevented
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!
2003-12-12 20:21:35 +00:00
Wouter van Heyst
9b4f87508a The debug target was erroneously removed, put it back.
Fixes build failure reported by ztonzy
2003-11-24 15:42:46 +00:00
Ton Roosendaal
0ff0ac9b87 - another hack!
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()
2003-11-23 23:04:35 +00:00
Michel Selten
ef9bfdcc75 A couple of files I left in the intern/python dir needed to be removed as
well.
To remove the directories on your system, do a:
cvs update -P
2003-11-22 17:29:46 +00:00
Michel Selten
930fc9ee40 First action of removing the old Python API stuff from cvs. Removed the
/intern/python stuff.
To remove the directories on your system, do a:
cvs update -P
2003-11-22 17:28:05 +00:00
Robert Wenzlaff
8dfd33c4fb Improved Knife line drawing, and added Knife cursor. 2003-11-06 00:01:51 +00:00
Robert Wenzlaff
32a03fe460 Changed Knife cursor in windows back to an arrow, since cross is "normal" cursor. 2003-10-27 00:03:18 +00:00
Ton Roosendaal
4d156ec195 - found the bad line in Ghost that preventing closing windows.
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!
2003-10-25 13:25:59 +00:00
Robert Wenzlaff
9b032d6c2a Fixes Makefile for intern/SoundSystem/intern. 2003-10-21 23:27:08 +00:00
Alexander Ewering
5c2005cf06 Robert (DetectiveThorn) Wenzlaff's Knife subdivide tool. See previous
message on Bf-committers for description.
2003-10-12 23:43:26 +00:00
Simon Clitherow
cb667fd282 - removed keymaker project from intern build (MSVC 6) - no longer needed. 2003-10-07 20:59:42 +00:00
Hans Lambermont
1bbf616b59 Finally add spike's FreeBSD suggestions. Tnxto Chris for forwarding. 2003-10-05 19:37:16 +00:00
Michel Selten
357b070120 * Fix bug #390 - auto/gcc compile fails on irix:openal
OpenAL is now a configurable option again. The trick was to update the
  SND_DependKludge not to #define/#undef anything when the auto* tools are
  used.
2003-09-16 19:28:29 +00:00
Kent Mein
abede3ca04 A little more cleanup, removed a bunch of unused vars in the code.
Trying to get rid of some of the extra warnings we can ignore ;)

Kent
2003-08-14 15:18:45 +00:00
Chris Want
d58a5fa269 Added the variable NAN_NO_OPENAL to force building without
openal. Set NAN_NO_OPENAL to true for this behavior.
Also removed a comment about EXPYTHON, which is obsolete.
2003-07-27 17:09:19 +00:00
Simon Clitherow
20ee6b2b66 - updated intern project files to include soundsystem (MSVC 6) 2003-07-20 19:51:03 +00:00
Chris Want
ae512b137c Changed some occurances of the lib 'soundsystem' to 'SoundSystem'
(seems half of the references were one way, the other half were
the other way). Also made irix link to $(OCGDIR)/intern/*SoundSystem/*
instead of $(OCGDIR)/gameengine/*SoundSystem/*
2003-07-17 02:36:56 +00:00
Kent Mein
6dcc5b030e Further fixes to the old makefiles.
Kent
2003-07-16 19:53:53 +00:00
Kent Mein
8dd015e9b0 Hopefully update for NaN Makefiles for the moving of SoundSystem.
I need to get openal working on my machine before I can test it so
if it doesn't work feel free to fix it.  Hopefully this will be
the majority of the stuff though.

Kent
2003-07-16 19:00:04 +00:00
Michel Selten
05cec80893 * Updated the auto* build system to compile again.
SoundSystem has been moved from source/gameengine to intern. This was needed
  because functionality from SoundSystem was needed by
  source/blender/src/editsound.c.
* Removed the option for the openal check in configure.ac. It's needed now by
  SoundSystem
* Removed the functionality for checking if 'noaudio' was provied on the
  commandline. Now audio is default on.
2003-07-16 18:23:50 +00:00
Chris Want
307586f03f EXPYTHON in now the only python for the Makefiles build. 2003-07-12 00:46:43 +00:00
Simon Clitherow
94f8098660 - removed freeze project from intern build (MSVC 6) 2003-07-11 19:34:20 +00:00
Ton Roosendaal
5d118d2b62 * removed warning from Glut "unknown key" when pressing the 'paragraph'
key.
2003-07-10 20:45:17 +00:00
Ton Roosendaal
ad6ddb4689 * cursor now moves with arrow keys again for OSX
* this apple method to do it generates unwanted events, so it could not
  be used for the menu mouse-move trick. this is #ifdeffed
* we should re-evaluate if this mousemove should remain in blender...
  there are better ways (scrolling contents of pup)

* plus: removed warnings from drawview.c
2003-07-10 20:34:41 +00:00
Ton Roosendaal
0a5145c118 * Added a roman -> latin charset convertor.
MacOSX returns a Roman charset with kEventParamKeyMacCharCodes
as defined here: http://developer.apple.com/documentation/mac/Text/Text-516.html
I am not sure how international this works...
For cross-platform convention, we'll use the Latin ascii set instead.
As defined at: http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html

* changed window-pop behaviour, it now also activates the window for input
  (OSX only)
2003-07-09 16:01:27 +00:00
Ton Roosendaal
a0430d0d43 Patch provided by Jacques Beaurain (thanks!) to fix bug #322. I've added
the text below as comment:

adding a glFinish() here is to prevent Geforce in 'full scene antialias' mode
from antialising the Blender window. Officially a swapbuffers does a glFinish
itself, so this feels really like a hack... but it won't harm. (ton)
2003-07-05 11:15:49 +00:00
Chris Want
2a1c1fd067 Iconified windows do not get window focus. 2003-07-05 02:28:52 +00:00
Chris Want
14b4ed4e8d Jacques patch for initializing m_context as NULL 2003-07-01 00:53:26 +00:00
Ton Roosendaal
ef4c05bd6c - OSX ghost: hand cursor, and it creates an opengl context with AUX buffer 2003-06-11 15:11:59 +00:00
Kent Mein
3c7c20676e This is a fun one ;)
Removes ssl from blender.
makes the following directorys not needed anymore:
blender/intern/keymaker
blender/source/blender/src/pub
blender/source/blender/encrypt
blender/source/blender/decrypt
blender/source/blender/sign
blender/source/blender/verify

It works with The Nan Makefiles and autoconf, could whoever is working
on the other build systems update them so we can nuke those directorys?
They won't do anything but I figured I'd leave them in for a week or so
to make things easyer on people.

Kent
2003-05-30 15:06:54 +00:00
Chris Want
76dc07b9f6 Support for the experimental python stuff in the traditional
Makefiles (set EXPYTHON=true in user-def.mk).
2003-05-29 16:29:57 +00:00
Rob Haarsma
a9fa245cd6 removed a mousecoords printf message 2003-05-26 11:31:24 +00:00
Ton Roosendaal
8eac463c47 Changed cursor type for moving window edges in OSX into a 'grasping hand'.
For some real idiot reason, osx only has the left-right arrow cursor builtin, and not an up-down arrowed one. The little hand cursor seems to be used in other apps, so let's stick with that!

-Ton-
2003-05-25 12:51:43 +00:00
Chris Want
fcad2744d7 Some tweaks to make the windows-gcc play nice with irix. 2003-05-25 05:22:46 +00:00
Chris Want
924a849755 Support for building bf-blender under windows with gcc (huge thanks to
Florian Eggenburger).

Full instructions are in doc/README.windows-gcc.

Main differences from Florian's patch:

- the 'lib' dir should now be the same level as the 'blender' dir (rather
than being a subdir of 'blender'). This is consistent with the other
platforms that bf-blender supports (tuhopuu will also adopt this convention
hopefully soon).

- the script 'free_windows-env.mk' is no longer needed ... see the
docs about how this is overcome (again, tuhopuu will hopefully
also follow this route soon).

- the dlltool dir has it's own Makefile that builds all of the
needed stub libraries from the dll's in cvs.
2003-05-24 20:04:37 +00:00
Kent Mein
64f0bdd954 Moved the misc txt files into the doc dir...
I wasn't sure maybe the two license files should be put in the root dir
instead....

I also reformated the bf-members.txt file a little to nuke extra spaces and
newlines (as well as updated my entry to include my name instead of just
sirdude... It looks like there are some special chars in it that someone
should fixup, not sure what they are suppose to be though)

Kent
2003-05-21 18:59:42 +00:00
Wouter van Heyst
efa0b4ef43 - Destroy the glx context _before_ the X window.
Fixes long standing crash for several DRI drivers.
Thanks to Jacek Popławski for hunting this bug down and supplying the patch.
2003-05-12 08:57:55 +00:00
Rob Haarsma
97feb53f36 changed for the new fullscreen button (windows only) 2003-05-08 16:22:41 +00:00
Rob Haarsma
8718b91af0 added fullscreen command line switch on Win32 -W
written by Florian Eggenberger.

Since Ghost in the bf tree is still used, i patched it here.
2003-05-05 10:53:04 +00:00
Kent Mein
16b3cd809a dos2unixed relivant stuff in the interndir.
I'll wait a couple of days and if no complaints do the other dirs as well.

Kent
2003-05-01 19:52:40 +00:00
Kent Mein
f740a2a67c modified it so ghost debugging is not done by default but you can
renable it with configure --enable-debug

Kent
2003-04-29 19:15:22 +00:00
Daniel Dunbar
7cc9ff34d1 Change the VC7 project to directly call python with the right arguments
to freeze.py (including my new -D hack).
2003-03-26 04:59:28 +00:00
Daniel Dunbar
74466d7211 Added a -D option to freeze.py to cause it to not check to see if certain
directories exist. They don't exist for a standard Python 2.3 installation
but they aren't needed either... this is really a hack, I wish someone
who understood the freeze process better could look at this.
2003-03-26 04:58:41 +00:00