Commit Graph

64 Commits

Author SHA1 Message Date
Stephen Swaney
621d218056 removed extra qualifier `SumoPHYCallbackBridge::' that was choking
gcc in c89 mode.  More potential breakage.
2005-04-22 16:17:27 +00:00
Chris Want
6275dd5b14 Clean up for Makefiles: some of the directories were being printed
wrong (e.g., "/Fuzzics" and "/Joystick", and some of  the solid stuff).
This was particularly noticable during "make clean".
2005-04-09 22:40:34 +00:00
Stephen Swaney
9b8a035718 add new file SumoPHYCallbackBridge.cpp to SConscript for SCons build. 2005-03-26 13:41:15 +00:00
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
94839880d7 Quickly hacked together a fix for game engine compiling. There were two
missing files in Kester's new commits. This commit adds these two files so
that compiling can continue as it is intended to. Emilie M. found a
home for the files rather quickly, Ton recieived the files from Erwin via
email, and we all tested. Works great! Thanks to everyone that helped!
2005-03-25 14:57:25 +00:00
c844aa265a Big patches:
Erwin Coumans: Abstract the physics engine
Charlie C: Joystick fixes
Me: Moved the ray cast (shadows, mouse sensor & ray sensor)
2005-03-25 10:33:39 +00:00
09fdbdc744 Fix compile errors for MSVC 2005-02-15 10:02:19 +00:00
Stephen Swaney
c448aa60ca remove gcc compiler error using -pedantic flag:
comma at end of enumerator list

If this change causes problems, feel free to back it out.

I am trying to get gcc to complain about mixed declarations and
code since that breaks on platforms that only support C89/C90.
2005-01-16 17:59:23 +00:00
48bc598658 More warning cleanups...
added a casts to:
   blender/blenlib/intern/BLI_memarena.c
   gameengine/Rasterizer/RAS_TexVert.cpp

Removed unused vars from:
   blender/python/api2_2x/vector.c
   gameengine/Ketsji/KX_PyMath.cpp gameengine/Ketsji/KX_Scene.cpp
   gameengine/Physics/Sumo/Fuzzics/src/SM_Object.cpp
   gameengine/Rasterizer/RAS_FramingManager.cpp
   gameengine/Rasterizer/RAS_Polygon.cpp
   gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp

Kent
2005-01-03 18:05:24 +00:00
551806bce8 Set the physics scale on added objects. (Fix bug #1837) 2004-12-13 09:53:30 +00:00
5590c179f5 Fix the case when the physics system starves the logic & renderer of CPU time. If this happens, we reduce physics precision to maintain some framerate. 2004-12-06 11:15:50 +00:00
e54f51c462 Fix numerical precision issue in physics. Dividing by a number too close to zero would make the impulse response normal large hence the jittering. 2004-12-06 11:10:41 +00:00
ae8102c8d6 Update the physics engine: interpolate between frames so track to/camera actuators work properly. (bug #1816) 2004-12-04 09:51:04 +00:00
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
5bba5035b0 Fix for MSVC (thanks Simon) 2004-11-08 11:30:41 +00:00
38b993f787 Speed up the physics engine: hook the SOLID broad phase, so we can either reject the test or request the penetration depth test as necessary. Previously we were doing the penetration depth test, as well as SOLID's intersection test. 2004-11-06 04:58:10 +00:00
e398ad2c0e Do a complete physics timestep each step instead of some per frame 2004-10-24 23:48:04 +00:00
7b2567924b Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware.
Keyboard sensors can now hook escape key.  Ctrl-Break can be used from within blender if you've forgotten an end game actuator.

Fixed a stupid bug preventing some actuators working (like TrackTo).
2004-10-16 11:41:50 +00:00
Chris Want
95b9534d2b We don't use ODE anymore, so I commented out some lines that make it
required to build.
2004-08-26 22:42:44 +00:00
Nathan Letwory
f1fdc6d608 Under certain circumstances a null-pointer could get dereferenced. Disabling 'dynamic' on an object was one of the situations. Now checking before using.
NULL->m_mass never works, of course :)

Ryan Showalter spotted and located the problem.
2004-08-01 09:00:36 +00:00
3dd18c5c34 Added an UpdateTransform callback from SceneGraph -> Physics.
Profiling revealed that the SceneGraph updated every physics object, whether it moved or not, even though the physics object was at the right place.  This would cause SOLID to go and update its bounding boxes, overlap tests etc.
This callback handles the special case (parented objects) where the physics scene needs to be informed of changes to the scenegraph.

Added Python attributes (mass, parent, visible, position, orientation, scaling) to the KX_GameObject module.
Make KX_GameObject use the KX_PyMath Python <-> Moto conversion.
2004-05-26 12:06:41 +00:00
5454280f6c Same again - change static const for MSVC++ 2004-05-17 09:06:54 +00:00
0f447ac5a8 Fix for MSVC .NET, which can't handle static const declarations in classes.
Make it static, and define in SM_Object.cpp
2004-05-17 08:31:35 +00:00
bab6e5ce36 Cleanup unused/commented out code, compiler warnings, coding standards etc. 2004-05-16 13:10:10 +00:00
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
81679446ba Make game users happier.
Don't apply friction to external velocities.  The means motion actuators that set linV will work, without having to be repeatedly triggered.
2004-05-13 13:07:38 +00:00
bd50d2f9cd Delete all SOLID shapes at the end of the game engine. They were all being leaked! 2004-05-08 00:25:20 +00:00
5813ae55d4 Fix Bug #1243: http://projects.blender.org/tracker/?func=detail&aid=1243&group_id=9&atid=125
Use external velocity (velocity set by the game engine - not the physics engine) for Motion Actuators.
2004-05-06 02:13:07 +00:00
63048b6cf4 Synchronise game engine with Tuhopuu2 tree. 2004-04-24 06:40:15 +00:00
Nathan Letwory
892720ffad [SCONS] Optimisation flags for msvc 2004-04-22 04:50:41 +00:00
4e2f7baff2 Improved rigid body handling for non spherical bounds type.
Polyheder dynamic objects are now converted properly.
2004-04-16 06:26:33 +00:00
a96869198b Rigid body physics for non spherical bounding objects.
If your simulation becomes unstable, crank up the 'Form' control.

Removed Solid from class SumoPhysicsEnvironment (since it wasn't actually used.)
2004-04-14 05:57:24 +00:00
ae9233a5b0 1. Check material names passed to the physics engine (for collision sensors.)
Consider:
gameobj->getClientInfo()->m_auxilary_info = (matname ? (void*)(matname+2) : NULL);
It works if matname is "MAblah", but not if matname is "".

2. Added constructor for struct RAS_CameraData.
3. Added initializers to the struct KX_ClientObjectInfo constructor
4. Collision sensors won't detect near sensors.
5. A stack of minor tweaks, adjusting whitespace, using ++it for stl stuff.
2004-04-11 02:50:02 +00:00
5398f1ba77 Added resolveCombinedVelocities()
Fixed drot actuator.  The rotation matrix was being mutilated by passing a float[9] instead of float[12].
2004-04-08 11:34:50 +00:00
51830fa0e2 Speed up the physics engine by cutting down on the number of fix pass iterations. 2004-04-02 12:35:48 +00:00
Nathan Letwory
00291b5cf4 [GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics.
[SCons] Build with Solid as default when enabling the gameengine in the build process
[SCons] Build solid and qhull from the extern directory and link statically against them

That was about it.

There are a few things that needs double checking:

* Makefiles
* Projectfiles
* All the other systems than Linux and Windows on which the build (with scons) has been successfully tested.
2004-03-22 22:02:18 +00:00
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
e1ab3cf480 SCons updates
* 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.
2004-02-22 19:01:12 +00:00
Nathan Letwory
e579793652 - [win32] updated SConscripts to use new configuration method (config.opts).
NOTE: ODE support needs still to be reviewed, so disable gameengine for now.
2004-02-21 19:00:31 +00:00
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
2883110a54 SCons updates: (All done by jesterKing)
* Windows .exe file now includes the blender icon.
* Builds with game engine on Windows only.
  I tried building the game engine on Linux, but I get weird errors when
  building with ode. There's a dirty #include path in
  Physics/BlOde/OdePhysicsEnvironment.cpp (../ode/src/joint.h). gcc doesn't
  like this somehow.
* Other platforms need to add a couple of flags to the SConstruct:
  use_sumo, use_ode, solid_include and ode_include
2004-01-20 20:28:39 +00:00
57a7dfe5a5 - Revert to NaN makefiles 2004-01-05 00:06:11 +00:00
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
Chris Want
b92e99d0a8 In ODE, a dVector3 is really a 4D array ... the 3D initialization
used in this file caused the MipsPro 7.4 compiler to choke
... please test on all platforms!
2003-08-23 19:09:52 +00:00
6dcc5b030e Further fixes to the old makefiles.
Kent
2003-07-16 19:53:53 +00:00
Chris Want
1f668df514 Irix will now link to ode 2003-03-31 17:27:20 +00:00
22305bc08d FreeBSD can use the exact same python includes as everyone else 2003-03-25 23:36:40 +00:00
Hans Lambermont
1a32da86f1 skip BlOde for irix 2003-01-11 22:10:00 +00:00
Hans Lambermont
080dd299d6 - use ODE in lib/ for FreeBSD
- use default python library path
- remove obsolete SSR comments
2003-01-04 20:20:54 +00:00
Hans Lambermont
302399b9d0 and the other FreeBSD python locations. 2003-01-04 01:41:19 +00:00